JavaScript REGEX模式匹配

时间:2013-10-31 20:07:45

标签: javascript regex

我是JS的新手,并且无法弄清楚如何验证输入 通过提示 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");

2 个答案:

答案 0 :(得分:2)

使用:

if (/^([a-z]+\s+){2,}[a-z]+$/i.test(p))

说明:

  • [a-z] =字母字符
  • [a-z]+ = 1个或多个字母字符,即单词
  • [a-z]+\s+ =单词后跟一个或多个空白字符
  • ([a-z]+\s+) =每个
  • 后至少有两个带空格的单词
  • ([a-z]+\s+){2,}[a-z]+ =上面跟着另外一个字
  • ^([a-z]+\s+){2,}[a-z]+$ =将上述内容锚定到字符串的开头和结尾

i修饰符使其不区分大小写,因此它也允许使用大写字母。

答案 1 :(得分:1)

  

prompt CONTAINS three or more words, seperated by spaces, only alphabetical characters.

你可以试试这个正则表达式:

/^[a-z]+( +[a-z]+){2,}$/i