/^([\p{Han}\p{P}A-Za-z0-9])*$/u
其中
\p{Han}表示utf-8编码中的所有中文字符,
\p{P}表示中英文标点,
A-Z表示大写字母,
a-z表示小写英文字母,
0-9表示数字,
*表示>=0,
/u 表示按unicode(utf-8)匹配(主要针对多字节比如汉字)
匹配中文标点符号: [\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b] 该表达式可以识别出: 。 ; , : “ ”( ) 、 ? 《 》 这些标点符号。
\w匹配的仅仅是中文,数字,字母
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
来源:oschina
链接:https://my.oschina.net/u/3568600/blog/3184957