js正则表达式怎么匹配英文和空格?

JavaScript012

js正则表达式怎么匹配英文和空格?,第1张

首先去掉首末位空格。\x0d\x0avarstr=input.replace(/(^\s*)|(\s*$)/g,"")\x0d\x0a验证名字\x0d\x0a字符头尾是字母,中间由空格和字母组成,中间可以有多个空格,如:TaylorGreSwift\x0d\x0a/^[A-Za-z][A-Za-z\s]*[A-Za-z]$/.test(str)\x0d\x0a如果想将中间无论多少空格替换成一个,可以再加这个:\x0d\x0a\x0d\x0astr=str.replace(/\s+/g,"")\x0d\x0a\x0d\x0a字符头尾是字母,中间由空格和字母组成,中间只有一个空格,如:TaylorGreSwift\x0d\x0a\x0d\x0a/^([A-Za-z]+\s?)*[A-Za-z]$/.test(str)

<script>

function getUrlParam(name) {

var reg = new RegExp("\\s")

var r = name.substr(1).match(reg)

if (r != null) {

return "有空格"

}

return "没有空格"

}

alert(getUrlParam("fro mId"))

</script>

楼上的正解.. 一般实作的时候,也是先对字串去空格,然后再判断其是否为空.

下面是我写的另一种实现方式,直接用正则表达式进行判断的..跟楼上的比,就只是代码有所不同吧,基本原理应该还是一样的.

<html>

<head>

<script language="javascript">

function checkValue(){

var objUserName = document.getElementById("txtUserName")

var reg = /^\s*(\S+)\s*$/

if(reg.test(objUserName.value)){

//如果用户输入的内容,开头或结尾带有空格,则将空格去掉,重新赋给文本框的value属性

objUserName.value = RegExp.$1

alert("验证通过")

}else{

//如果用户只输入了空格,则将空格清空

objUserName.value = ""

alert("请输入用户名")

}

}

</script>

</head>

<body onload="">

<input type="text" id="txtUserName"/>

<button onclick="checkValue()">Check</button>

</body>

</html>