正则表达式

讨好

我知道有很多这样的话题。我花了很多时间检查表达式以使代码正常工作。我不太了解正则表达式的工作原理,所以希望您能帮帮我。

我想验证此输入(希望我不要推送)

  • 仅字母(也带有拉丁字符)
  • 地址(包括点,逗号,冒号,数字符号和连字符)
  • 电话(数字和连字符)

喜欢:

/[a-zA-ZÑñÁáÉéÍíÓóÚú]+$/          /* Only letters */
/[a-zA-Z0-9\sñáéíóúü .,:#-]+$/    /* Address */
/^[\d-]+$/                        /* Telephone */

当我在字符串的末尾包含一个特殊字符时,它们可以正常工作,但是如果我在接受的字符之间输入该特殊字符,它将无法正常工作。请允许我写一个例子:

对于“仅字母”表达式:

  • ab[(% -不通过
  • a[(%b -它通过了,不应该!

非常感谢您的宝贵时间,我们将不胜感激!

威克多·斯特里比尤

您忘记了^第一个2个模式的开头处的字符串锚点的开始。

参见演示1

^[a-zA-ZÑñÁáÉéÍíÓóÚú]+$
^

与第二个正则表达式相同。在那里,您还有一个文字空间和\s,因此可以删除文字空间:

^[a-zA-Z0-9\sñáéíóúü.,:#-]+$
^

演示2

至于您的第三个正则表达式,由于它会匹配,因此不是最佳的----1123

采用

/^(?:\d+-)+\d+$/

参见演示3在这里,我们(?:\d+-)+从头到尾匹配数字和连字符(带有),然后匹配数字序列。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章