JavaScript正则表达式匹配空格

JavaScript021

JavaScript正则表达式匹配空格,第1张

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

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

<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>

首先去掉首末位空格。

var str = input.replace(/(^\s*)|(\s*$)/g,"")

验证名字

字符头尾是字母,中间由空格和字母组成,中间可以有多个空格,如:Taylor Gre Swift

/^[A-Za-z][A-Za-z\s]*[A-Za-z]$/.test(str)

如果想将中间无论多少空格替换成一个,可以再加这个:

str = str.replace(/\s+/g," ")

字符头尾是字母,中间由空格和字母组成,中间只有一个空格,如:Taylor Gre Swift

/^([A-Za-z]+\s?)*[A-Za-z]$/.test(str)