首页 >php教程 >PHP源码 >人品查询测试函数正则验证百家姓

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

PHP中文网
PHP中文网原创
2016-05-25 17:01:421694浏览

[代码]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(&#39;utf-8&#39;, &#39;gbk&#39;, $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 = &#39;&#39;;   
  //转成数字再转成二进制字符串,最后联合起来。   
   foreach ($arr as $value)   
     $bin_str .= decbin(ord($value));   
  //此时,$bin_str应类似111001001011110110100000,如果是汉字"你"   
  //正则截取   
   $bin_str = preg_replace(&#39;/^.{4}(.{4}).{2}(.{6}).{2}(.{6})$/&#39;,&#39;$1$2$3&#39;, $bin_str);   
  //此时, $bin_str应类似0100111101100000,如果是汉字"你"   
  return bindec($bin_str); //返回类似20320, 汉字"你"   
  //return dechex(bindec($bin_str)); //如想返回十六进制4f60,用这句   
}

                   

                   

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn