您的位置:澳门402永利com > 澳门402永利com网络 > php正则判断是否为合法身份证号的方法,php验证

php正则判断是否为合法身份证号的方法,php验证

发布时间:2019-09-25 08:06编辑:澳门402永利com网络浏览(129)

     

    发布:JB01   来源:剧本学堂     【大 中 小】

     代码如下

    分享一例php代码,用于注明居民身份证编号的不利,用到了preg_match、preg_replace函数,有亟待的心上人能够参见学习下。本文转自:

    /**

    本节内容:

     * 判别是还是不是为官方的身份ID号码

    表达身份ID号码准确的php代码

     * @param $mobile

    例子:  

     * @return int

    复制代码代码示例:

     */

    <?php
    /**
     * 验证身份ID号
     * by www.jbxue.com
     * @param $vStr
     * @return bool
     */
    function isCreditNo($vStr)
    {
        $vCity = array(
            '11','12','13','14','15','21','22',
            '23','31','32','33','34','35','36',
            '37','41','42','43','44','45','46',
            '50','51','52','53','54','61','62',
            '63','64','65','71','81','82','91'
        );

    functionisCreditNo($vStr){

        if (!preg_match('/^([d]{17}[xXd]|[d]{15})$/', $vStr)) return false;

      $vCity=array(

        if (!in_array(substr($vStr, 0, 2), $vCity)) return false;

        ཇ',཈',ཉ',ཊ',ཋ',ད',དྷ',

        $vStr = preg_replace('/[xX]$/i', 'a', $vStr);
        $vLength = strlen($vStr);

        ན',ཛ',ཛྷ',ཝ',ཞ',ཟ',འ',

        if ($vLength == 18)
        {
            $vBirthday = substr($vStr, 6, 4) . '-' . substr($vStr, 10, 2) . '-' . substr($vStr, 12, 2);
        } else {
            $vBirthday = '19' . substr($vStr, 6, 2) . '-' . substr($vStr, 8, 2) . '-' . substr($vStr, 10, 2);
        }

        ཡ',ཥ',ས',ཧ',ཨ',ཀྵ',ཪ',

        if (date('Y-m-d', strtotime($vBirthday)) != $vBirthday) return false;
        if ($vLength == 18)
        {
            $vSum = 0;

        ཮',཯',཰',ཱ',ི',ཹ',ེ',

            for ($i = 17 ; $i >= 0 ; $i--)
            { // www.jbxue.com
                $vSubStr = substr($vStr, 17 - $i, 1);
                $vSum += (pow(2, $i) % 11) * (($vSubStr == 'a') ? 10 : intval($vSubStr , 11));
            }

        ཻ',ོ',ཽ',ྃ',ྍ',ྎ',ྗ'

            if($vSum % 11 != 1) return false;
        }

      );

        return true;
    }

      if(preg_match('/^([d]{17}[xXd]|[d]{15})$/',$vStr))returnfalse;

    您大概感兴趣的文章:
    JS验证居民身份证有效的实例代码
    asp.net 验证居民身份证编号的代码一例
    C#居民身份证验证的代码一例
    PHP居民身份证正则验证(包容15,19位居民身份证)代码一例
    用于居民身份证声明的没有错的js脚本
    贯彻身份ID编号证实的js代码
    身份ID编号证实的正则表明式实例
    js 验证居民身份证号码的代码(附实例、下载地址)
    表明居民身份证编号的js代码(功效庞大非常好用)
    表明身份ID号码的js代码(完美扶助15与十九位居民身份证)
    js 身份ID号码证实代码(相当好用,补助15 21位)

      if(!in_array(substr($vStr, 0, 2),$vCity))returnfalse;

      $vStr= preg_replace('/[xX]$/i','a',$vStr);

      $vLength=strlen($vStr);

      if($vLength== 18) {

        $vBirthday=substr($vStr, 6, 4) .'-'.substr($vStr, 10, 2) .'-'.substr($vStr, 12, 2);

      }else{

        $vBirthday=ཏ'.substr($vStr, 6, 2) .'-'.substr($vStr, 8, 2) .'-'.substr($vStr, 10, 2);

      }

      if(date('Y-m-d',strtotime($vBirthday)) !=$vBirthday)returnfalse;

      if($vLength== 18) {

        $vSum= 0;

        for($i= 17 ;$i>= 0 ;$i--) {

          $vSubStr=substr($vStr, 17 -$i, 1);

          $vSum+= (pow(2,$i) % 11) * (($vSubStr=='a') ? 10 :intval($vSubStr, 11));

        }

        if($vSum% 11 != 1)returnfalse;

      }

      returntrue;

    }

     

    本文由澳门402永利com发布于澳门402永利com网络,转载请注明出处:php正则判断是否为合法身份证号的方法,php验证

    关键词: