版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_21891743/article/details/79726315
背景
当做一些电商网站的时候,会遇到很多时候购物要实名认证,对于国内的人来说,输入姓名的时候都要输入汉字。汉字而不是中文,为什么这么说。“。”这个也是中文,所以说汉字比较准确一点。
分析
还有一些少数民族里面含有·这个符号。
所以算法的核心就是全部为中文或者全部为中文并且有·这个符号的两种情况才允许姓名通过验证。
算法
具体算法如下:
/**
*判断姓名是否全是中文
*/
function isAllChinese($str){
//新疆等少数民族可能有·
if(strpos($str,'·')){
//将·去掉,看看剩下的是不是都是中文
$str=str_replace("·",'',$str);
if(preg_match('/^[\x7f-\xff]+$/', $str)){
return true;//全是中文
}else{
return false;//不全是中文
}
}else{
if(preg_match('/^[\x7f-\xff]+$/', $str)){
return true;//全是中文
}else{
return false;//不全是中文
}
}
}