下面是我写的另一种实现方式,直接用正则表达式进行判断的..跟楼上的比,就只是代码有所不同吧,基本原理应该还是一样的.
<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>
首先去掉首末位空格。\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)