1

对于仅字母数字字符,我使用如下内容:

<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 生成的,所以我想有一个地方来维护验证代码。

4

4 回答 4

8

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

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

如果没有^and $,输入 likesomewords!@#将验证。

于 2013-01-18T19:00:50.473 回答
2

您需要指定分隔符!尝试

preg_match("/[a-zA-Z0-9]+/", $value);
于 2013-01-18T19:00:48.933 回答
0

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

preg_match("/[a-zA-Z0-9]+/", $value);
于 2013-01-18T19:00:52.290 回答
0

您必须在 php.ini 中使用分隔符。

preg_match("/[a-zA-Z0-9]+/", $value);
于 2013-01-18T19:01:06.150 回答