php判断学生姓名,【PHP】百家姓姓名判断

百家姓姓名判断,封装方法:function checkSurname($user_name){

$array = array(

'赵', '钱', '孙', '李', '周', '吴', '郑', '王', '冯', '陈', '楮','卫',

'蒋', '沈', '韩', '杨', '朱', '秦', '尤', '许', '何', '吕', '施', '张',

'孔', '曹', '严', '华', '金', '魏', '陶', '姜', '戚', '谢', '邹', '喻',

'柏', '水', '窦', '章', '云', '苏', '潘', '葛', '奚', '范', '彭', '郎',

'鲁', '韦', '昌', '马', '苗', '凤', '花', '方', '俞', '任', '袁', '柳',

'酆', '鲍', '史', '唐', '费', '廉', '岑', '薛', '雷', '贺', '倪', '汤',

'滕', '殷', '罗', '毕', '郝', '邬', '安', '常', '乐', '于', '时', '傅',

'皮', '卞', '齐', '康', '伍', '余', '元', '卜', '顾', '孟', '平', '黄',

'和', '穆', '萧', '尹', '姚', '邵', '湛', '汪', '祁', '毛', '禹', '狄',

'米', '贝', '明', '臧', '计', '伏', '成', '戴', '谈', '宋', '茅', '庞',

'熊', '纪', '舒', '屈', '项', '祝', '董', '梁', '杜', '阮', '蓝', '闽',

'席', '季', '麻', '强', '贾', '路', '娄', '危', '江', '童', '颜', '郭',

'梅', '盛', '林', '刁', '锺', '徐', '丘', '骆', '高', '夏', '蔡', '田',

'樊', '胡', '凌', '霍', '虞', '万', '支', '柯', '昝', '管', '卢', '莫',

'经', '房', '裘', '缪', '干', '解', '应', '宗', '丁', '宣', '贲', '邓',

'郁', '单', '杭', '洪', '包', '诸', '左', '石', '崔', '吉', '钮', '龚',

'程', '嵇', '邢', '滑', '裴', '陆', '荣', '翁', '荀', '羊', '於', '惠',

'甄', '麹', '家', '封', '芮', '羿', '储', '靳', '汲', '邴', '糜', '松',

'井', '段', '富', '巫', '乌', '焦', '巴', '弓', '牧', '隗', '山', '谷',

'车', '侯', '宓', '蓬', '全', '郗', '班', '仰', '秋', '仲', '伊', '宫',

'宁', '仇', '栾', '暴', '甘', '斜', '厉', '戎', '祖', '武', '符', '刘',

'景', '詹', '束', '龙', '叶', '幸', '司', '韶', '郜', '黎', '蓟', '薄',

'印', '宿', '白', '怀', '蒲', '邰', '从', '鄂', '索', '咸', '籍', '赖',

'卓', '蔺', '屠', '蒙', '池', '乔', '阴', '郁', '胥', '能', '苍', '双',

'闻', '莘', '党', '翟', '谭', '贡', '劳', '逄', '姬', '申', '扶', '堵',

'冉', '宰', '郦', '雍', '郤', '璩', '桑', '桂', '濮', '牛', '寿', '通',

'边', '扈', '燕', '冀', '郏', '浦', '尚', '农', '温', '别', '庄', '晏',

'柴', '瞿', '阎', '充', '慕', '连', '茹', '习', '宦', '艾', '鱼', '容',

'向', '古', '易', '慎', '戈', '廖', '庾', '终', '暨', '居', '衡', '步',

'都', '耿', '满', '弘', '匡', '国', '文', '寇', '广', '禄', '阙', '东',

'欧', '殳', '沃', '利', '蔚', '越', '夔', '隆', '师', '巩', '厍', '聂',

'晁', '勾', '敖', '融', '冷', '訾', '辛', '阚', '那', '简', '饶', '空',

'曾', '毋', '沙', '乜', '养', '鞠', '须', '丰', '巢', '关', '蒯', '相',

'查', '后', '荆', '红', '游', '竺', '权', '逑', '盖', '益', '桓', '公',

'仉', '督', '晋', '楚', '阎', '法', '汝', '鄢', '涂', '钦', '岳', '帅',

'缑', '亢', '况', '后', '有', '琴', '归', '海', '墨', '哈', '谯', '笪',

'年', '爱', '阳', '佟', '商', '牟', '佘', '佴', '伯', '赏'

);

$double_array = array(

"万俟", "司马", "上官", "欧阳", "夏侯", "诸葛", "闻人", "东方",

"赫连", "皇甫", "尉迟", "公羊","澹台", "公冶", "宗政", "濮阳",

"淳于", "单于", "太叔", "申屠", "公孙", "仲孙", "轩辕", "令狐",

"锺离", "宇文", "长孙", "慕容", "鲜于", "闾丘", "司徒", "司空",

"丌官", "司寇", "子车", "微生","颛孙", "端木", "巫马", "公西",

"漆雕", "乐正", "壤驷", "公良", "拓拔", "夹谷", "宰父", "谷梁",

"段干", "百里", "东郭", "南门", "呼延", "羊舌", "梁丘", "左丘",

"东门", "西门", "南宫"

);

$first_name = utf8sub($user_name, 1);

$double_name = utf8sub($user_name, 2);

if(in_array($first_name,$array) || in_array($double_name, $double_array))

{

return TRUE;

}else{

return FALSE;

}

}

/**

* UTF8字符串截取函数

* @param type $str

* @param type $len

* @return string

*/

function utf8sub($str,$len,$offset=0)

{

if($len<0){

return '';

}

$res = '';

// $offset = 0;

$chars = 0;

$count = 0;

$length = strlen($str);//待截取字符串的字节数

while($chars

//先截取客串的一个字节,substr按字节进行截取

$high = decbin(ord(substr($str,$offset,1)));

//重要突破,已经能够判断高位字节

if(strlen($high)<8){//英文字符ascii编码长度为7,通过长度小于8来判断

$count = 1;

// echo 'hello,I am in','
';

}elseif (substr($high,0,3) == '110') {

$count = 2; //取两个字节的长度

}elseif (substr($high,0,4) == '1110') {

$count = 3; //取三个字节的长度

}elseif (substr($high,0,5) == '11110') {

$count = 4;

}elseif (substr($high,0,6) == '111110') {

$count = 5;

}elseif(substr($high,0,7)=='1111110'){

$count = 6;

}

$res .= substr($str,$offset,$count);

$chars +=1;

$offset += $count;

}

return $res;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值