只允许出现中文/字母/数字/下划线, 但不允许以下划线开头或结束, 不允许以数字开头
JS版:
^(?!_)(?!.*?_$)(?!\d)[a-zA-Z0-9_\u4e00-\u9fa5]+$
PHP-UTF8:
$pattern = "/^(?!_)(?!.*?_$)(?!\d)[a-zA-Z0-9_\x{4e00}-\x{9fa5}]+$/u";
PHP-GB2312:
$pattern = "/^(?!_)(?!.*?_$)(?!\d)[a-zA-Z0-9_".chr(0xa1)."-".chr(0xff)."]+$/";
PHP下的写法要注意:
1.把 \u 换成 \x , 而且 \x 后面的 4 个字符要用大括号包起来
2.在最末尾加上模式修饰符 u
;