PHP用户名中文汉字正则验证

在php中,通过正则表达式对用户名进行格式验证

用户名验证规则:用户名只能由数字、字母、中文汉字及下划线组成,不能包含特殊符号。

 /^[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"声明编码格式。

 

 

 

参考来源:http://www.thinkphp.cn/code/642.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值