JavaScript REGEX 模式匹配

标签 javascript regex

我是 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/

相关文章:

python - 从文本中提取文件路径

java - 正则表达式删除两个字符串之间的所有内容但有重复

javascript - Node 14 : Import modules using an absolute path for native ES6 module

javascript - 清除文本字段

javascript - 处理电话 : anchor

mysql - 在mysql选择查询中需要正则表达式

javascript - 具有相同变量的Jquery多个函数

javascript - Jquery onclick 函数没有被调用

regex - "split/\|/"中断 Perl 语法突出显示

ios - iOS 上的 sqlite3 中的 "No such function: REGEXP"