【正则表达式】检测字符串只包含数字、字母、下划线、汉字
程序员文章站
2022-03-11 14:20:37
...
RT
要验证一下用户名,只包含数字、字母、下划线、汉字,要求即使打乱顺序也能测出来
全角的标点不当做汉字
要验证一下用户名,只包含数字、字母、下划线、汉字,要求即使打乱顺序也能测出来
回复讨论(解决方案)
规则串:/^\w+$/u
适用于 utf-8 字符集,非 utf-8 的,转成 utf-8 的再使用
'/^[\x7f-\xffA-Za-z0-9_]+$/'
$s = '%';var_dump(preg_match('/^\w+$/u', $s)); //int(0)var_dump(preg_match('/^[\x7f-\xffA-Za-z0-9_]+$/', $s)); //int(1)
全角的标点不当做汉字
'/^[\x7f-\xffA-Za-z0-9_]+$/'