欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

人品查询测试函数正则验证百家姓

程序员文章站 2022-04-25 17:06:07
...

[代码]PHP

//获得人品值
function getMoralInfo($name)
{
    $name = str_replace("+", "", $name);
    $f = mb_substr($name,0,1,'utf-8');
    $s = mb_substr($name,1,1,'utf-8');
    $w = mb_substr($name,2,1,'utf-8');
    $x = mb_substr($name,3,1,'utf-8');
    $n=(getUnicodeFromUTF8($f) + getUnicodeFromUTF8($s) + getUnicodeFromUTF8($w) + getUnicodeFromUTF8($x)) % 100;
    $addd='';
    if(empty($name))
    {
        $addd="大哥不要玩我啊,名字都没有你想算什么!";

    } else if ($n <= 0) {
        $addd ="你一定不是人吧?怎么一点人品都没有?!";
    } else if($n > 0 && $n <= 5) {
        $addd ="算了,跟你没什么人品好谈的...";
    } else if($n > 5 && $n <= 10) {
        $addd ="是我不好...不应该跟你谈人品问题的...";
    } else if($n > 10 && $n <= 15) {
        $addd ="杀过人没有?放过火没有?你应该无恶不做吧?";
    } else if($n > 15 && $n <= 20) {
        $addd ="你貌似应该三岁就偷看隔壁大妈洗澡的吧..."; 
    } else if($n > 20 && $n <= 25) {
        $addd ="你的人品之低下实在让人惊讶啊..."; 
    } else if($n > 25 && $n <= 30) {
        $addd ="你的人品太差了。你应该有干坏事的嗜好吧?";
    } else if($n > 30 && $n <= 35) {
        $addd ="你的人品真差!肯定经常做偷鸡摸狗的事...";
    } else if($n > 35 && $n <= 40) {
        $addd ="你拥有如此差的人品请经常祈求佛祖保佑你吧...";
    } else if($n > 40 && $n <= 45) {
        $addd ="老实交待..那些论坛上面经常出现的偷拍照是不是你的杰作?"; 
    } else if($n > 45 && $n <= 50) {
        $addd ="你随地大小便之类的事没少干吧?";
    } else if($n > 50 && $n <= 55) {
        $addd ="你的人品太差了..稍不小心就会去干坏事了吧?"; 
    } else if($n > 55 && $n <= 60) {
        $addd ="你的人品很差了..要时刻克制住做坏事的冲动哦.."; 
    } else if($n > 60 && $n <= 65) {
        $addd ="你的人品比较差了..要好好的约束自己啊.."; 
    } else if($n > 65 && $n <= 70) {
        $addd ="你的人品勉勉强强..要自己好自为之.."; 
    } else if($n > 70 && $n <= 75) {
        $addd ="有你这样的人品算是不错了..";
    } else if($n > 75 && $n <= 80) {
        $addd ="你有较好的人品..继续保持.."; 
    } else if($n > 80 && $n <= 85) {
        $addd ="你的人品不错..应该一表人才吧?";
    } else if($n > 85 && $n <= 90) {
        $addd ="你的人品真好..做好事应该是你的爱好吧.."; 
    } else if($n > 90 && $n <= 95) {
        $addd ="你的人品太好了..你就是当代活雷锋啊...";
    } else if($n > 95 && $n <= 99) {
        $addd ="你是世人的榜样!";
    } else if($n > 100 && $n < 105) {
        $addd ="天啦!你不是人!你是神!!!"; 
    }else if($n > 105 && $n < 999) {
        $addd="你的人品已经过 100 人品计算器已经甘愿认输,3秒后人品计算器将自杀啊";
    } else if($n > 999) {
        $addd ="你的人品竟然负溢出了...我对你无语.."; 
    }
    return $name."的人品分数为:".$n."<br>".$addd;
}
//验证中文
function  checkGBK($str,$lenStart,$lenEnd){//检查是否符合规定长度的gbk汉字
		   $str=iconv('utf-8', 'gbk', $str);
           $strLen=strlen($str)/2;  
           if($strLen>$lenEnd || $strLen<$lenStart)
		   return  false;  
           for($n=0;$n<strlen($str);$n+=2){  
                       $fs=ord($str[$n]);  
                       $ss=ord($str[$n+1]);  
                       if(!(($fs>175&&$fs<248&&$ss>160&&$ss<255) || ($fs>128&&$fs<161&&$ss>63&&$ss<255) || ($fs>169&&$fs<255&&$ss>63&&$ss<161)))
					   return  false;  
           }  
           return  true;  
}
//验证百家姓
function  checkbjx($xm){
		   if(preg_match("/^(赵|钱|孙|李|周|吴|郑|王|冯|陈|楮|卫|蒋|沈|韩|杨|朱|秦|尤|许|何|吕|施|张|孔|曹|严|华|金|魏|陶|姜|戚|谢|邹|喻|柏|水|窦|章|云|苏|潘|葛|奚|范|彭|郎|鲁|韦|昌|马|苗|凤|花|方|俞|任|袁|柳|酆|鲍|史|唐|费|廉|岑|薛|雷|贺|倪|汤|滕|殷|罗|毕|郝|邬|安|常|乐|于|时|傅|皮|卞|齐|康|伍|余|元|卜|顾|孟|平|黄|和|穆|萧|尹|姚|邵|湛|汪|祁|毛|禹|狄|米|贝|明|臧|计|伏|成|戴|谈|宋|茅|庞|熊|纪|舒|屈|项|祝|董|梁|杜|阮|蓝|闽|席|季|麻|强|贾|路|娄|危|江|童|颜|郭|梅|盛|林|刁|锺|徐|丘|骆|高|夏|蔡|田|樊|胡|凌|霍|虞|万|支|柯|昝|管|卢|莫|经|房|裘|缪|干|解|应|宗|丁|宣|贲|邓|郁|单|杭|洪|包|诸|左|石|崔|吉|钮|龚|程|嵇|邢|滑|裴|陆|荣|翁|荀|羊|於|惠|甄|麹|家|封|芮|羿|储|靳|汲|邴|糜|松|井|段|富|巫|乌|焦|巴|弓|牧|隗|山|谷|车|侯|宓|蓬|全|郗|班|仰|秋|仲|伊|宫|宁|仇|栾|暴|甘|斜|厉|戎|祖|武|符|刘|景|詹|束|龙|叶|幸|司|韶|郜|黎|蓟|薄|印|宿|白|怀|蒲|邰|从|鄂|索|咸|籍|赖|卓|蔺|屠|蒙|池|乔|阴|郁|胥|能|苍|双|闻|莘|党|翟|谭|贡|劳|逄|姬|申|扶|堵|冉|宰|郦|雍|郤|璩|桑|桂|濮|牛|寿|通|边|扈|燕|冀|郏|浦|尚|农|温|别|庄|晏|柴|瞿|阎|充|慕|连|茹|习|宦|艾|鱼|容|向|古|易|慎|戈|廖|庾|终|暨|居|衡|步|都|耿|满|弘|匡|国|文|寇|广|禄|阙|东|欧|殳|沃|利|蔚|越|夔|隆|师|巩|厍|聂|晁|勾|敖|融|冷|訾|辛|阚|那|简|饶|空|曾|毋|沙|乜|养|鞠|须|丰|巢|关|蒯|相|查|后|荆|红|游|竺|权|逑|盖|益|桓|公|万俟|司马|上官|欧阳|夏侯|诸葛|闻人|东方|赫连|皇甫|尉迟|公羊|澹台|公冶|宗政|濮阳|淳于|单于|太叔|申屠|公孙|仲孙|轩辕|令狐|锺离|宇文|长孙|慕容|鲜于|闾丘|司徒|司空|丌官|司寇|仉|督|子车|颛孙|端木|巫马|公西|漆雕|乐正|壤驷|公良|拓拔|夹谷|宰父|谷梁|晋|楚|阎|法|汝|鄢|涂|钦|段干|百里|东郭|南门|呼延|归|海|羊舌|微生|岳|帅|缑|亢|况|后|有|琴|梁丘|左丘|东门|西门|商|牟|佘|佴|伯|赏|南宫|墨|哈|谯|笪|年|爱|阳|佟|第五|言|福)/",$xm)) {
return  true;
}else{
return  false;
}

[代码]getUnicodeFromUTF8函数

function getUnicodeFromUTF8($word) {   
  //获取其字符的内部数组表示,所以本文件应用utf-8编码!   
  if (is_array( $word))   
     $arr = $word;   
  else     
     $arr = str_split($word);   
  //此时,$arr应类似array(228, 189, 160)   
  //定义一个空字符串存储   
   $bin_str = '';   
  //转成数字再转成二进制字符串,最后联合起来。   
   foreach ($arr as $value)   
     $bin_str .= decbin(ord($value));   
  //此时,$bin_str应类似111001001011110110100000,如果是汉字"你"   
  //正则截取   
   $bin_str = preg_replace('/^.{4}(.{4}).{2}(.{6}).{2}(.{6})$/','$1$2$3', $bin_str);   
  //此时, $bin_str应类似0100111101100000,如果是汉字"你"   
  return bindec($bin_str); //返回类似20320, 汉字"你"   
  //return dechex(bindec($bin_str)); //如想返回十六进制4f60,用这句   
}
相关标签: php