前言:多数情况下,正则表达式对于不同的语言没有什么不同。但是也有例外。
一、JavaScript部分。
(1)检查字符串中是否有中文。
/[\u4e00-\u9fa5]/.test(str)
(2)字符串只能是中文、字母、数字、下划线构成,且下划线不能是首尾字符。
/^(?!_)(?!.*?_$)[\u4e00-\u9fa5a-zA-Z0-9_]+$/.test(str);
二、PHP部分。
(1)检查字符串中是否有中文。
preg_match("/[\x{4e00}-\x{9fa5}]/u", $str);
(2)字符串只能是中文、字母、数字、下划线构成,且下划线不能是首尾字符。
对于中文的匹配,上面默认的是utf-8。不同的编码表示不同。
(1)检查字符串中是否有中文。
(2)字符串只能是中文、字母、数字、下划线构成,且下划线不能是首位字符。