Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 名字的Js正则表达式_Javascript_Regex_Formvalidation.io - Fatal编程技术网

Javascript 名字的Js正则表达式

Javascript 名字的Js正则表达式,javascript,regex,formvalidation.io,Javascript,Regex,Formvalidation.io,我正在寻找满足以下条件的正则表达式 最小1个字符,最大50个字符 字符串的开头和结尾没有空格 在两个单词之间只允许一个空格和一个点 我使用下面的表达式,这会导致灾难性的回溯问题。 表达式- /^[a-zA-Z]+(?:(?:|['_\. ])([a-zA-Z]*(\.\s)?[a-zA-Z])+)*$/ 如何防止此问题?您可以使用 /^(?=.{1,50}$)[a-z]+(?:['_.\s][a-z]+)*$/i 看 详细信息 ^-字符串的开头 (?=.{1,50}$)-字符串中必须有

我正在寻找满足以下条件的正则表达式

  • 最小1个字符,最大50个字符
  • 字符串的开头和结尾没有空格
  • 在两个单词之间只允许一个空格和一个点
我使用下面的表达式,这会导致灾难性的回溯问题。 表达式-

/^[a-zA-Z]+(?:(?:|['_\. ])([a-zA-Z]*(\.\s)?[a-zA-Z])+)*$/
如何防止此问题?

您可以使用

/^(?=.{1,50}$)[a-z]+(?:['_.\s][a-z]+)*$/i

详细信息

  • ^
    -字符串的开头
  • (?=.{1,50}$)
    -字符串中必须有1到50个字符
  • [a-z]+
    -1个或多个ASCII字母
  • (?:['.\s][a-z]+)*
    -0或更多序列
    • ['.\uS]
      -a
      '
      或空白
    • [a-z]+
      -1个或多个ASCII字母
  • $
    -字符串结尾
  • /i
    -不区分大小写的修饰符

试试。我更新了我的问题,下划线将出现在模式中。最好有一组测试字符串。在/^(?=.{1,50}$)[a-z]+(?:['.'.\s][a-z]+)*$/i尝试它们。这对我有用。非常感谢你。