【问题标题】:How can I get slashes and double quotes to be allowed in a regular expression?如何在正则表达式中允许使用斜杠和双引号?
【发布时间】:2015-09-22 03:16:34
【问题描述】:

我正在使用一个名为 VDAEMON 的验证脚本,在将其应用于元素时,我们必须使用正则表达式设置我们希望在字段中允许的字符类型。由于我的元素的目的是让人们解释事情,我希望他们能够使用完整的键盘来表达他们的想法。

到目前为止,我想出了这个来允许所有字符

regexp="/^[0-9a-z!@#$%^&*():;<>,.?\/\s]*$/i"

我唯一不能工作的是 /\ 和 "。当然 " 改变了 html 结构,并且 / 和 \ 用于语法,我不太确定是哪种语言是不是我只是和其他角色一起飞了起来,并对其进行了测试,结果恰好奏效了。

它确实说它需要是任何与 perl 兼容的表达式。有人知道如何实现吗?

////////////////////更新//////////////////// ////////

这是我尝试调用的 HTML 示例

<textarea id="my_comp" name="How_did_you_hear_about_my_Company" class="tex_inp01" style="width:88%; height:100px; font-size:14pt;"></textarea>
<vlvalidator name="My_Company" type="regexp" control="How_did_you_hear_about_my_Company" errmsg="Invalid Type Format" regexp="/^[0-9a-z!@#$%^&*():;<>\\,.?\/\s]*$/i">

【问题讨论】:

  • 只是在这里检查,但是您是否已经尝试逃避它们? ( \/ 和 \" 恭敬。)
  • 试试regexp='~^[0-9a-z!@#$%^&amp;*():;&lt;&gt;,.?\/\s"]*$~i'
  • 您能否提供您对该正则表达式的 PHP 用法以及您要在其中解析的字符串?
  • 试试这个 /^[0-9a-z!@#$%^&*():;\\",.?\/\s]*$/i
  • 试试 /^[0-9a-z!@#$%^&*():;\="',.?\/\s]*$/i 我用过这个作为示例 - hello world style here

标签: php regex html


【解决方案1】:

试试单引号。

preg_match('~^[0-9a-z!@#$%^&*():;<>,.?/\s"]*$~i', $str);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-19
    • 1970-01-01
    • 2014-06-14
    • 1970-01-01
    • 2014-02-04
    相关资源
    最近更新 更多