【问题标题】:html5 regexp in phpphp中的html5正则表达式
【发布时间】:2013-01-18 18:59:30
【问题描述】:

我只使用字母数字字符:

<input type="text" pattern="[a-zA-Z0-9]+" />

当数据到达服务器时,我需要再次验证。所以我做到了

preg_match("[a-zA-Z0-9]+", $value);

但是 PHP 说警告:preg_match() [function.preg-match]: Unknown modifier '+'

你不能在html5和PHP中使用相同的表达式吗?

编辑: 我有一个 JSfiddle 显示以下建议不起作用: http://jsfiddle.net/EY3hc/

我想要实现的是 1 个正则表达式,我可以在 html 和 preg_match 中用作模式。 html 是由 PHP 生成的,所以我想有一个地方来维护验证代码。

【问题讨论】:

  • 我刚刚在 20 秒内获得了 5 个相同的答案,我很开心。
  • @JanDvorak,反正也没关系。我先回答,仍然得到 0 票:P
  • @maček 原来是唯一一个注意到缺少分隔符的人以质量赢得了价格:-)
  • @maček 是的,我注意到了,你值得一票:P
  • @MathieuImbert 但其他人也一样,n'est-ce pas?

标签: php regex html


【解决方案1】:

您需要在表达式中添加分隔符。你也应该匹配行的开头和结尾:

preg_match("/^[a-zA-Z0-9]+$/", $value);

如果没有 ^$,像 somewords!@# 这样的输入将有效。

【讨论】:

  • 谢谢,我可以在 php 中使用分隔符时添加分隔符,而在呈现 html 时将它们排除在外。
【解决方案2】:

您需要指定分隔符!试试

preg_match("/[a-zA-Z0-9]+/", $value);

【讨论】:

    【解决方案3】:

    您需要在 PHP 中对该表达式使用分隔符。

    preg_match("/[a-zA-Z0-9]+/", $value);
    

    【讨论】:

      【解决方案4】:

      你必须在 php 中使用分隔符。

      preg_match("/[a-zA-Z0-9]+/", $value);
      

      【讨论】:

        猜你喜欢
        • 2017-02-23
        • 2023-04-07
        • 1970-01-01
        • 2010-09-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-01
        • 2019-05-29
        相关资源
        最近更新 更多