我有一个验证用户姓名的脚本。当用户输入没有空格的名称时,它可以正常工作。如果用户输入带有空格的名称(名称,姓氏,姓氏等),则表示无效。我想抓住空间'使用\s
的字符,但它不起作用。
我的脚本是:
var name=document.forms["newform"]["fullname"].value; //get the name from HTML form
var charpos = name.search("[^A-Za-z\s]");
if (name.length <= 0 || name.length>=50 || charpos >= 0)
{
alert('wrong.');
}
else
{
alert('correct');
}
输入1: AFGH
输出1:正确
输入2: ABCD EFGH
输出2:错误
当给出Input2时,charpos
获得值&#39; 5&#39;。
答案 0 :(得分:1)
字符串文字正在吞噬\
。
你应该使用正则表达式文字:
name.search(/[^A-Za-z\s]/);