使用Javascript正则表达式验证HTML表单

使用Javascript正则表达式验证HTML表单,javascript,html,regex,Javascript,Html,Regex,我有一个验证用户名的脚本。当用户输入不带空格的名称时,它工作正常。如果用户输入带有空格的名称(姓名、姓氏、姓氏等),则该名称无效。我正在尝试使用\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 ||

我有一个验证用户名的脚本。当用户输入不带空格的名称时,它工作正常。如果用户输入带有空格的名称(姓名、姓氏、姓氏等),则该名称无效。我正在尝试使用
\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');
}
var name=document.forms[“newform”][“fullname”].value//从HTML表单中获取名称
var charpos=name.search(“[^A-Za-z\s]”);
如果(name.length=50 | | charpos>=0)
{
警惕(“错误”);
}
其他的
{
警惕(“正确”);
}
输入1:AFGH

输出1:正确

输入2:ABCD EFGH

输出2:错误


当给出Input2时,
charpos
获取值“5”

字符串文字正在吞没
\

您应该使用正则表达式文字:

name.search(/[^A-Za-z\s]/);

谢谢你的沙拉。成功了!!你能解释一下string literal是如何吞没`\``的吗?吞咽意味着什么?再次感谢。@iSumitG,
\
是常规字符串中的转义,如果你想让字符本身出现在字符串中,你必须转义它,例如
“[^A-Za-z\\s]”