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

JavaScript05

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)

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

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

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