JavaScript正则表达式模式匹配
我对JS完全是新手,很难弄清楚如何验证输入是否正确 via prompt包含三个或三个以上的单词,以空格分隔,仅包含字母字符 这就是我所拥有的:JavaScript正则表达式模式匹配,javascript,regex,Javascript,Regex,我对JS完全是新手,很难弄清楚如何验证输入是否正确 via prompt包含三个或三个以上的单词,以空格分隔,仅包含字母字符 这就是我所拥有的: var p = prompt("Enter a phrase:", ""); var phr = p.search(/^[^0-9][2,3]$/); if(phr != 0) { alert("invalid");return } else{document.write("phr"); prompt包含三个或三个以上的单词,用空格分隔,
var p = prompt("Enter a phrase:", "");
var phr = p.search(/^[^0-9][2,3]$/);
if(phr != 0)
{
alert("invalid");return
}
else{document.write("phr");
prompt包含三个或三个以上的单词,用空格分隔,仅包含字母字符。
您可以尝试以下正则表达式:
/^[a-z]+( +[a-z]+){2,}$/i
使用:
说明:
=字母字符[a-z]
=一个或多个字母字符,即一个单词[a-z]+
=单词后跟一个或多个空格字符[a-z]+\s+
=至少2个单词,每个单词后面有空格([a-z]+\s+)
=前面跟一个单词([a-z]+\s+{2,}[a-z]+
=将上述内容锚定到字符串的开头和结尾^([a-z]+\s+{2,}[a-z]+$
i
修饰符使其不区分大小写,因此它也允许大写字母。@Floris-\w
也将匹配数字。此外,对于一个三个字符长的字符串,表达式将需要额外的空格。@edi_allen-你说得对。我不知道我在想什么。^/
应该是/^
,不是吗?@Boaz:非常感谢,这是个打字错误,已经修复了。
if (/^([a-z]+\s+){2,}[a-z]+$/i.test(p))