验证中文的正则表达式 报错

来源:3-8 正则匹配常用案例

weplt

2016-01-17 00:13

if (!preg_match('/^[\u4e00-\u9fa5\w\.]+@\w+(\.\w+){1,2}$/i', $user['email'])) {
   die('邮箱不合法');
}

\u4e00-\u9fa5表示中文utf-8编码,用正则表达式检测工具,测试语法没问题.

Warning: preg_match(): Compilation failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 3 in C:\wamp\www\learning php\test2.php on line 95

报错\u写法不支持.还有其他表示中文的写法吗

写回答 关注

1回答

  • weplt
    2016-01-17 00:29:18

    还是自己靠的住...说明一下:

    \u需要转义 修改后-->\\\u

    unicode编码需要在正则表达式结尾加上u 完整版在下面,修改地方加了下划线

    if (!preg_match('/^[\\\u4e00-\\\u9fa5\w\.]+@\w+(\.\w+){1,2}$/iu', $user['email'])) {
       die('邮箱不合法');
    }

PHP进阶篇

轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序

181944 学习 · 2668 问题

查看课程

相似问题

正则表达式

回答 1

正则表达式

回答 1

正则表达式

回答 2

正则表达式

回答 2

正则表达式

回答 2