PHP正则匹配中文,字母,数字和下划线
最近在做项目,需要用正则判断下用户名,然后就遇到了PHP正则匹配汉字的问题
在js中
/^[\u4E00-\u9FA5A-Za-z0-9_]+$/
是没有问题的,
但是到了PHP中就会报错
preg_match(): Compilation failed: PCRE does not support \L, \l, \N{name}
然后谷歌了下后,发现PHP的preg_match()
匹配正则跟其他的语言还不大一样
// 这是PHP中正确的,匹配汉字,字母和数字(不包括标点符号)
/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u