用户名验证规则:用户名只能由数字、字母、中文汉字及下划线组成,不能包含特殊符号。
/^[a-zA-Z][/w]{3,14}$|^[/x{4e00}-/x{9fa5}a-z-A-Z_]{1}([/x{4e0}-/x{9fa5}]|[/x{4e00}-/x{9fa5}a-z-A-Z/d_]){3,6}$/u
ps:这是我自己组合的正则表达式,有点长有点复杂;
关键在于"/^[A-Za-z0-9_/x{4e00}-/x{9fa5}]+$/u"这一段,其中"A-Za-z0-9_"代表验证字母、数字及下划线,
"/x{4e00}-/x{9fa5}"代表汉字验证。"/u"代表unicode(utf-8)匹配。
在php中,不支持[/u4e00-/u9fa5]匹配汉字,而是用/x表示十六进制数据,然而php中用"[/x4e00-/x9fa5]"的写法也是错的,
必须用{}把它包起来才行。此外,由于编码关系,需要用到"/u"声明编码格式。
相关推荐:
学知汉字正则验证
以上就是PHP实现用户名中文汉字正则验证的详细内容,更多请关注 其它相关文章!
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答