/*** 验证真实姓名* @param $name* @return bool*/public static function checkName($name){if (!preg_match('/^[\x{4e00}-\x{9fa5}]+[·•]?[\x{4e00}-\x{9fa5}]+$/u', $name)) {return false;}$strLen = mb_strlen($name);if ($strLen < 2 || $strLen > 8) {return false;}$one = mb_substr($name,0,1,'utf-8');$checkOne = self::checkSurname($one);if(!$checkOne){$two = mb_substr($name,0,2,'utf-8');$checkTwo = self::checkSurname($two,2);if(!$checkTwo){return false;}}return true;}/*** 百家姓匹配*/public static function checkSurname($user_name,$type = 1)  {$array = array( '赵', '钱', '孙', '李', '周', '吴', '郑', '王', '冯', '陈', '楮', '卫', '蒋', '沈', '韩', '杨','朱', '秦', '尤', '许', '何', '吕', '施', '张', '孔', '曹', '严', '华', '金', '魏', '陶', '姜','戚', '谢', '邹', '喻', '柏', '水', '窦', '章', '云', '苏', '潘', '葛', '奚', '范', '彭', '郎','鲁', '韦', '昌', '马', '苗', '凤', '花', '方', '俞', '任', '袁', '柳', '酆', '鲍', '史', '唐','费', '廉', '岑', '薛', '雷', '贺', '倪', '汤', '滕', '殷', '罗', '毕', '郝', '邬', '安', '常','乐', '于', '时', '傅', '皮', '卞', '齐', '康', '伍', '余', '元', '卜', '顾', '孟', '平', '黄','和', '穆', '萧', '尹', '姚', '邵', '湛', '汪', '祁', '毛', '禹', '狄', '米', '贝', '明', '臧','计', '伏', '成', '戴', '谈', '宋', '茅', '庞', '熊', '纪', '舒', '屈', '项', '祝', '董', '梁','杜', '阮', '蓝', '闽', '席', '季', '麻', '强', '贾', '路', '娄', '危', '江', '童', '颜', '郭','梅', '盛', '林', '刁', '锺', '徐', '丘', '骆', '高', '夏', '蔡', '田', '樊', '胡', '凌', '霍','虞', '万', '支', '柯', '昝', '管', '卢', '莫', '经', '房', '裘', '缪', '干', '解', '应', '宗','丁', '宣', '贲', '邓', '郁', '单', '杭', '洪', '包', '诸', '左', '石', '崔', '吉', '钮', '龚','程', '嵇', '邢', '滑', '裴', '陆', '荣', '翁', '荀', '羊', '於', '惠', '甄', '麹', '家', '封','芮', '羿', '储', '靳', '汲', '邴', '糜', '松', '井', '段', '富', '巫', '乌', '焦', '巴', '弓','牧', '隗', '山', '谷', '车', '侯', '宓', '蓬', '全', '郗', '班', '仰', '秋', '仲', '伊', '宫','宁', '仇', '栾', '暴', '甘', '斜', '厉', '戎', '祖', '武', '符', '刘', '景', '詹', '束', '龙','叶', '幸', '司', '韶', '郜', '黎', '蓟', '薄', '印', '宿', '白', '怀', '蒲', '邰', '从', '鄂','索', '咸', '籍', '赖', '卓', '蔺', '屠', '蒙', '池', '乔', '阴', '郁', '胥', '能', '苍', '双','闻', '莘', '党', '翟', '谭', '贡', '劳', '逄', '姬', '申', '扶', '堵', '冉', '宰', '郦', '雍','郤', '璩', '桑', '桂', '濮', '牛', '寿', '通', '边', '扈', '燕', '冀', '郏', '浦', '尚', '农','温', '别', '庄', '晏', '柴', '瞿', '阎', '充', '慕', '连', '茹', '习', '宦', '艾', '鱼', '容','向', '古', '易', '慎', '戈', '廖', '庾', '终', '暨', '居', '衡', '步', '都', '耿', '满', '弘','匡', '国', '文', '寇', '广', '禄', '阙', '东', '欧', '殳', '沃', '利', '蔚', '越', '夔', '隆','师', '巩', '厍', '聂', '晁', '勾', '敖', '融', '冷', '訾', '辛', '阚', '那', '简', '饶', '空','曾', '毋', '沙', '乜', '养', '鞠', '须', '丰', '巢', '关', '蒯', '相', '查', '后', '荆', '红','游', '竺', '权', '逑', '盖', '益', '桓', '公', '仉', '督', '晋', '楚', '阎', '法', '汝', '鄢','涂', '钦', '岳', '帅', '缑', '亢', '况', '后', '有', '琴', '归', '海', '墨', '哈', '谯', '笪','年', '爱', '阳', '佟', '商', '牟', '佘', '佴', '伯', '赏', '闫', '口', '操');$double_array = array(  "万俟", "司马", "上官", "欧阳", "夏侯", "诸葛", "闻人", "东方", "赫连", "皇甫", "尉迟", "公羊","澹台", "公冶", "宗政", "濮阳", "淳于", "单于", "太叔", "申屠", "公孙", "仲孙", "轩辕", "令狐","锺离", "宇文", "长孙", "慕容", "鲜于", "闾丘", "司徒", "司空", "丌官", "司寇", "子车", "微生","颛孙", "端木", "巫马", "公西", "漆雕", "乐正", "壤驷", "公良", "拓拔", "夹谷", "宰父", "谷梁","段干", "百里", "东郭", "南门", "呼延", "羊舌", "梁丘", "左丘", "东门", "西门", "南宫");if($type == 1){if(!in_array($user_name,$array)){return false;}}else{if(!in_array($user_name,$double_array)){return false;}}return true;}

php 姓名校验 根据百家姓相关推荐

  1. C++ 如何判断姓名字符串符合百家姓

    最近做注册窗口身份证+姓名认证时,有个需求:姓名必须是符合百家姓的 据说有现成的公安系统可以使用,但是是按次收费的,果断放弃此方案, 网上找了一圈没有, 有人说用正则,正则最多能判断是不是中文吧,还能 ...

  2. [前台]---js+jquery校验姓名,手机号,身份证号

    记一次前台验证姓名,手机号,身份证号的代码,复制即用,前提是有引入jquery. var name = "姓名"if(!is_forbidName(name)){alert(&qu ...

  3. js 常用正则校验(身份证/手机号/姓名...)

    //身份证校验 const IDReg = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|3 ...

  4. 证件类型、证件号码、性别、出生日期校验(身份证、户口簿、港澳居民居住证、台湾居民居住证、港澳居民来往内地通行证、台湾居民来往大陆通行证、境外永久居住证、外国人永久居留身份证、护照、其他)

    校验工具类 import com.xx.xx.dic.CertificateType;/*** 证件类型校验工具类*/ public class CertificateValidateUtil {pu ...

  5. Js 常用规则校验及过滤方法

    整理日常项目中常见的表单验证及过滤方法 数据过滤 手机号码隐藏中间4位 保留两位小数 每三位逗号隔开,后面补两位小数,多用于金额数字 银行尾号四位数 数字金额转换为大写人民币汉字的方法 获取Url携带 ...

  6. utils此文件下存放自己封装的工具类函数(数据校验类)

    /*** 数据校验类*/ /* eslint-disable */ // 判定是否为空 export const isEmpty = value => {if (typeof value == ...

  7. js证件等校验校验规则

    最近在做一个项目,需要对很多种证件进行校验. 经过一番查找,发现在12406网站的js里有相关正则 https://kyfw.12306.cn/otn/personalJS/core/plugin/v ...

  8. 【Java基础系列教程】第十五章 Java 正则表达式详解

    一.正则表达式概述 什么是正则表达式 正则表达式:用于匹配规律规则的表达式,正则表达式最初是科学家对人类神经系统的工作原理的早期研究,现在在编程语言中有广泛的应用.正则表达式通常被用来检索.替换那些符 ...

  9. 身份证照片获取个人信息与银行卡4要素验证

    目录 通过身份证照片获取个人信息 银行卡4要素验证(腾讯接口) 通过身份证照片获取个人信息 百度API接口文档 百度的接口免费适合学习和应用前期初步的使用, 如果验证的图片为空或不为身份证则不计算在次 ...

  10. OpenJWeb(1.6) Java Web应用快速开发平台技术白皮书

    OpenJWeb中国开源组织(http://blog.csdn.net/baozhengw) 苏州创智科技有限公司(http://www.cmissoft.com) QQ:29803446 Msn:b ...

最新文章

  1. 函数 php_PHP函数缺陷详解
  2. P1083 [NOIP 2012]借教室
  3. 亚马逊给创业者5条建议:开会杜绝PPT
  4. 我的Java后端书架 (2016年暖冬4.0版)
  5. js三元运算符_这些优化技巧可以避免我们在 JS 中过多的使用 IF 语句
  6. java 仅有类名 构造类_java – 这个设计模式有名字吗? (具有仅调用构造函数的实现的基类)...
  7. POJ 1852 Ants 分析
  8. html在线时间24小时代码,每24小时弹一次的HTML代码
  9. 字符串,字节,二进制转换
  10. Pyhton学习——Day60
  11. linux 脚本启动oracle,linux自动启动 oracle脚本
  12. 3. 吴恩达机器学习课程-作业3-多分类和神经网络
  13. C语言程序100例之C#版-029
  14. SPSS中K均值聚类操作案例
  15. 1007 Problem H A+B 输入输出练习VIII
  16. phpstorm 免费生成 激活码 保证有效
  17. unity调用安卓手机物理返回键和home键
  18. 思科设备密码破解方法
  19. 你真正做到敏捷了吗?
  20. pstack学习笔记

热门文章

  1. 如何实现实时监测配电室环境数据
  2. 【游戏开发指路】Unity学习路线,三万字大纲(面试题大纲 | 知识图谱 | Unity游戏开发工程师)
  3. 《计算机网络》谢希仁第七版知识点总结
  4. 海思Hi3798MV310机顶盒芯片Datasheet-基本信息
  5. IP子网划分的原理及应用
  6. Spring事务和事务传播机制
  7. 批量对word文档进行操作
  8. 用于应用开发的新数据可视化模板
  9. Java基础知识面试题(2022版)
  10. python打印图像所有的像素值