【问题标题】:Apostrophe In Regex正则表达式中的撇号
【发布时间】:2013-04-05 15:29:37
【问题描述】:

我想知道是否有人可以帮助我。

我正在使用以下正则表达式作为我的表单验证的一部分。

else if(!preg_match('/^[A-Za-z0-9 .,;-]{5,60}$/', $locationname))

我必须承认,我花了一些时间才走到这一步,但我遇到了我无法解决的问题。

我只是想知道是否有人能告诉我如何在这个正则表达式中加入撇号作为可接受的字符。

非常感谢和亲切的问候

克里斯

【问题讨论】:

    标签: php regex validation


    【解决方案1】:

    用反斜杠转义撇号,\'

    preg_match('/^[A-Za-z0-9 .,;\'-]{5,60}$/', $locationname)
    

    【讨论】:

    • 嗨@RitchieHindle,感谢您抽出时间回复我的帖子并提供解决方案。我已经在我的代码中实现了更改,但不幸的是它似乎不起作用,因为我无法通过撇号。实际上,我有两个文件需要对原始文件进行更改 "regex": /^$|^[A-Za-z0-9 .,;-]+$/preg_match('/^[A-Za-z0-9 .,;-]{5,60}$/', $locationname)) 更改为:"regex": /^$|^[A-Za-z0-9 .,;\'-]+$/,preg_match('/^[A-Za-z0-9 .,;\'-]{5,60}$/', $locationname) 非常感谢和亲切的问候
    【解决方案2】:

    尝试使用 \

    转义

    else if(!preg_match('/^[A-Za-z0-9 .,;-\']{5,60}$/', $locationname))

    范围 - 也需要转义 (\-)。试试下面的

    else if(!preg_match('/^[A-Za-z0-9 .,; \-\']{5,60}$/', $locationname))
    

    【讨论】:

    • 嗨@Ram,感谢您抽出宝贵时间回复我的帖子并提供建议的解决方案。我试图实现这一点,但不幸的是,我在运行脚本时收到了语法错误。非常感谢和亲切的问候。克里斯
    • 我通过为 -(范围)添加转义来编辑我的 cmets。现在试试这个
    • 嗨@Ram,非常感谢您在这方面的持续帮助。不幸的是,我无法让脚本与您的解决方案一起使用,但经过更多工作后,我已经能够让这个脚本与我发布的解决方案一起使用。
    【解决方案3】:

    除了我收到的帮助之外,经过更多的工作后,我发现解决方案是:else if(!preg_match('/^$|^[-a-zA-Z0-9 .,;\ \']{5,60}$/', $locationname)){

    问候

    克里斯

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-15
      • 2016-02-08
      • 2018-01-21
      • 1970-01-01
      相关资源
      最近更新 更多