我是 JS 的新手,不知道如何验证 输入 via prompt CONTAINS 三个或更多单词,由空格分隔,只有字母字符。
这是我的:
var p = prompt("Enter a phrase:", "");
var phr = p.search(/^[^0-9][2,3]$/);
if(phr != 0)
{
alert("invalid");return
}
else{document.write("phr");
最佳答案
使用:
if (/^([a-z]+\s+){2,}[a-z]+$/i.test(p))
解释:
[a-z]
= 字母字符[a-z]+
= 1个或多个字母字符,即一个词[a-z]+\s+
= 单词后跟 1 个或多个空白字符([a-z]+\s+)
= 至少 2 个单词,每个单词后有空格([a-z]+\s+){2,}[a-z]+
= 以上内容后跟 1 个单词^([a-z]+\s+){2,}[a-z]+$
= 将上面的内容锚定到字符串的开头和结尾
i
修饰符使其不区分大小写,因此它也允许使用大写字母。
关于JavaScript REGEX 模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19715682/