JavaScript REGEX 模式匹配

JavaScript REGEX pattern matching

本文关键字:模式匹配 REGEX JavaScript      更新时间:2023-09-26

我对JS完全陌生,并且无法弄清楚如何验证输入通过提示包含三个或更多单词,用空格分隔,仅按字母顺序排列。

这是我所拥有的:

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修饰符使其不区分大小写,因此它也允许大写字母。

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

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

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