互联网公司对身份证验证的需求越来越多,然而普通的小公司是无法对接公安部门的身份认证系统的。几乎都是在网上买一些大的互联网公司的一些认证服务。即使是便宜一些的认证价格也达到了10万次/万元。...这里提供一个初步验证身份证格式的PHP身份证验证类。该类只提供一个静态方法isValid接口,使用起来也很简单,只需要使用IdentityCard::isValid即可验证。...该方法可以同时验证15位的老身份证和18位的新身份证格式 PHP版本:>=7.0.0 注:如果PHP版本低于7.0版本只需要把类中方法的参数限制取消掉即可使用。...,比如670401代表1967年4月1日,这是和18位号码的第一个区别; //13-15位为顺序号,其中15位男为单数,女为双数; //与18位身份证号的第二个区别:没有最后一位的验证码。...以上就是PHP验证身份证格式的详细内容,更多请关注php交流群793603132
idcard_15to18($id_card); return idcard_checksum18($id_card); }else{ return false; } } // 计算身份证校验码...= $checksum % 11; $verify_number = $verify_number_list[$mod]; return $verify_number; } // 将15位身份证升级到...= 15){ return false; }else{ // 如果身份证顺序码是996 997 998 999,这些是为百岁以上老人的特殊编码 if (array_search(substr...idcard, 6, 9); } } $idcard = $idcard . idcard_verify_number($idcard); return $idcard; } // 18位身份证校验码有效性检查
php /** * Created by Liang * Email: 1144828910@qq.com * User: joila * Date: 2020/7/20 * Time: 上午...10:52 */ namespace FilterData; /** * 筛选身份证号码 * Class FilterIdCard * @package FilterData */ class...MethodIdCardChecksum18($IdCard); } else { return false; } } /** * 计算身份证校验码...$mod = $checksum % 11; return $verify_number_list[$mod]; } /** * 将15位身份证升级到...= 15) { return false; } else { // 如果身份证顺序码是996 997 998 999,这些是为百岁以上老人的特殊编码
php验证数据:手机号,身份证,邮箱,防注入 // 过滤数据防注入 public function checkInject($str) { $str = trim($str);//删除头尾空格...lt;sdf> // 把特殊的 HTML 实体转换回字符htmlspecialchars_decode('123<sdf>') return $str; } //验证手机号...preg_match("/^1[3456789]\d{9}$/", $phone)) { return true; } else { return false; } } //验证邮箱...+[a-z]{2,}$/", $email)) { return true; } else { return false; } } //验证身份证 public
jQuery身份证验证插件 /*!...false) { return false; } return true; }; //取身份证前两位...//检查生日是否正确 checkBirthday = function(obj) { var len = obj.length; //身份证...return verifyBirthday('19' + year, month, day, birthday); } //身份证...} return false; } return false; }; //15位转18位身份证号
举例: 130503 19670401 0012 这个身份证号的含义: 13 为河北,05 为邢台,03 为桥西区,出生日期为 1967 年 4 月 1 日,顺序号为 001,2 为验证码。...年 4 月 1 日,这是和 18 位号码的第一个区别; 13-15 位为顺序号,其中 15 位男为单数,女为双数; 与 18 位身份证号的第二个区别:没有最后一位的验证码。...临时身份证使用与本人身份证相同的编号;常住户口特定人员的临时身份证编号也按居民身份证编号原则和方法编 15 位码。...相关函数如下: // PHP 根据身份证号,自动获取对应的星座函数 function get_xingzuo($cid) { // 根据身份证号,自动返回对应的星座 if (!...原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:PHP根据身份证号码验证、获取星座、生肖和性别函数
博客园 链接:http://www.cnblogs.com/xudong-bupt/p/3293838.html(点击尾部阅读原文前往) 做项目的时候需要对拿到的数据进行“清洗”,比如剔除一些不可能存在的身份证号码...查阅了网上的身份证号码验证算法,自己也总结一下。 (一)18身份证号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。...public static void main(String[] args){ Id18 test=new Id18(); System.out.println("该身份证验证码...:"+test.getValidateCode("14230219700101101")); //该身份证校验码:3 } } (三)说明 1、程序可以根据已有的17位数字本体码,获取对应的验证码...2、该程序可以剔除验证码不正确的身份证号码。 3、15位的身份证出生年份采用年份后2位,没有最后1位校验码。 4、完整的身份证18位,最后一位校验位可能是非数字。
if (testId('320888888888888888') == false) { layer.msg("身份证号不正确!")...; return false; } //身份证真实性验证 function testId(value) { var vcity = { 11: "北京", 12: "天津...= function (card) { if (isEmpty(card)) { return true; } //这个代码表示身份证可以为空...//身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X var reg = /(^\d{15}$)|(^\d...' + day); return verifyBirthday('19' + year, month, day, birthday); } //身份证
做项目的时候需要对拿到的数据进行“清洗”,比如剔除一些不可能存在的身份证号码。查阅了网上的身份证号码验证算法,自己也总结一下。...(一)18身份证号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。 排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码。 ...public static void main(String[] args){ Id18 test=new Id18(); System.out.println("该身份证验证码...:"+test.getValidateCode("14230219700101101")); //该身份证校验码:3 } } (三)说明 1.程序可以根据已有的17位数字本体码,获取对应的验证码...2.该程序可以剔除验证码不正确的身份证号码。 3.15位的身份证出生年份采用年份后2位,没有最后1位校验码。 4.完整的身份证18位,最后一位校验位可能是非数字。
'ok').css({ 'color': 'green'}) } else { $('#idcardinfo').html('身份证号码错误....css({ 'color': 'red'}) } } else { $('#idcardinfo').html('身份证号码错误
正则验证身份证号码 HTML5学堂:曾经一直觉得用正则验证身份证号码是很简单的~但是,当真正挖掘身份证号码的规则之后,才发现,想要写好一个正则验证也没有那么容易。...Y = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ] * 如果验证码恰好是10,为了保证身份证是十八位,那么第十八位将用X来代替 */ 校验位计算方法:身份证前17位,每一位数字和相应位数的加权因子进行乘法运算...,之后求和(17项之和),再用这个和对11取余,所得的余数作为“验证位数组Y”的下标,也就是Y[余数],找到“验证位数组Y”中的相应数字,如果身份证最后一位和这个数字吻合,则身份证号码合法(如果最后一位是...X/x,就对应于“验证位数组Y”中的10这个数字) 简单的号码计算小例子 假如是这个身份证号码(这个身份证号码是我瞎编的):110203198811120342。...此时将0与身份证号的最后一位(2)做比较,很明显,错误,那么也证明了这个号码是我瞎编的了…… 验证身份证号码的正则如何写?
以下是一个大家都会的小知识点,jQuery验证身份证号码,老生常谈的问题了,不过对于记忆不好理解能力又不够的我来说,还是要记录一下下了。 ? <!...regIdNo.test(idCard)) { alert('身份证号填写有误'); return false;
内容简介 本篇推送,将简单介绍一下怎么使用FME来验证身份证号码。 身份证号码 结构: 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。...身份证号码验证 了解过身份证的组成以及验证规则之后,下面就要开始验证了。 验证方式 身份证号的验证,可以分为这么几个部分:1、地址码验证,2、出生日期验证,3、顺序码验证,4、校验码验证。...其中地址码验证比较简单,只需提取出身份证的前6位,与县级行政区划代码做个验证即可。顺序码的验证,只需将第17位提取出来做奇偶性与性别的验证即可。所以接下来的验证将着眼于两部分:日期与校验码!...日期校验 要验证身份证中的日期,首先要把日期信息提取出来。...所以这个身份证号码是有问题的。 ? 验证码验证 根据身份证的验证码规则,需要将身份证的每一位乘上其加权因子,然后再与11取余,得到的余数再到对应的校验码表中,查找对应的校验码。
//验证身份证的合法性 function IdentityCodeValid(code) { var city={11:"北京",12:"天津",13:"河北",14:"山西"...\d{2}(0[1-9]|1[12])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i.test(code)){ tip = "身份证号格式错误";...tip = "地址编码错误"; pass = false; } else{ //18位身份证须要验证最后一位校验位...} } } return pass; } 方法 返回false 身份证不合法
今天,在盛大某网站注册的时候,身份证必填,但我又不想填真实身份证号码,于是随便编了串自认为合法的身份证号码,但是却马上被提示号码错误,由于响应速度极快,可以肯定不是联机校验正确性的,那也就是说第二代身份证除了大家都知道的几位表示生日和性别的规则以外
用法参考Validating an IP address with PHP's filter_var function
15位转18位原理:身份证中的年份补全,即:第六、七位之间增加“1”“9”(目前大多数是20世纪出身的),现在身份证号码位数是17位。...而这个数就是最后一位身份证号码。...//校验省份代码 if( checkCityCode(sPaperId) ) { return -3; } //校验出生日期 //验证最末的校验码...18位即可按同样方法来验证(如 130321860311519 ,15位,需要补为 130321XX860311519X ,前两个XX替换为19,后一个X按规则算出来)。...上述代码中,没有加出生日期验证,这个可以自己写一个验证下出生日期。
/** * * @ClassName TestId * @author 作者:XiaoMage * @version 0.1 * @Description : * 验证身份证号码是否正确
领取专属 10元无门槛券
手把手带您无忧上云