1

我对此感到非常困惑:

$email = (isset($_POST['email']) && preg_match('@^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$@', $_POST['email']) && strlen($_POST['email']) <= 255 && strlen($_POST['email']) > 6) ? $_POST['email'] : false;

错误:

Warning: preg_match(): Unknown modifier '[' in C:\xampp\htdocs\sales\qls-3.1.9\install\Install.class.php on line 283

我查看了官方 php 网站的实际功能网页

如果有人可以提供帮助,那将是史诗般的!

4

2 回答 2

1

问题是您使用@正则表达式分隔符并@在正则表达式中使用而不转义它。

你的正则表达式:

#^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$#
于 2013-05-25T04:14:30.760 回答
-1

好的试试这个:

$email = (isset($_POST['email']) && preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i', $_POST['email']) && strlen($_POST['email']) <= 255 && strlen($_POST['email']) > 6) ? $_POST['email'] : false;
于 2013-05-25T04:12:18.667 回答