国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

vbscript和javascript版的15位, 18位的身份證號(hào)碼的驗(yàn)證函數(shù).以及根據(jù)

2019-10-26 17:59:29
字體:
供稿:網(wǎng)友
工作中需要用到身份證驗(yàn)證,還要支持檢查15位和18位。
我一時(shí)手懶,問同事有沒有現(xiàn)成的函數(shù)可用,同事google了一下,扔給我一個(gè) asp-vbscript版本的函數(shù)。
可我這邊是客戶端javascript呀,于是用改 vbs-->js
改完發(fā)現(xiàn)蠻好用的,同時(shí)發(fā)現(xiàn) vbscript真的很啰嗦,居然寫了50多行,我改成js 只用了11行。
當(dāng)然,我并完全是指vbscript啰嗦,那個(gè)寫這段vbs代碼的無名氏也是個(gè)唐僧性格.....

先放出 vbscript代碼,   
復(fù)制代碼 代碼如下:

<script language="vbscript"> 

'功能:檢查身份證號(hào)碼 
Function CheckCardId(e)  
    arrVerifyCode = Split("1,0,x,9,8,7,6,5,4,3,2", ",")  
    Wi = Split("7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2", ",")  
    Checker = Split("1,9,8,7,6,5,4,3,2,1,1", ",")  

    If Len(e) < 15 Or Len(e) = 16 Or Len(e) = 17 Or Len(e) > 18 Then  
        CheckCardId= "身份證號(hào)共有 15 碼或18位"  
        CheckCardId = False  
        Exit Function  
    End If  

    Dim Ai  
    If Len(e) = 18 Then  
        Ai = Mid(e, 1, 17)  
    ElseIf Len(e) = 15 Then  
        Ai = e  
        Ai = Left(Ai, 6) & "19" & Mid(Ai, 7, 9)  
    End If  

    If Not IsNumeric(Ai) Then  
        CheckCardId= "身份證除最后一位外,必須為數(shù)字!"          
        Exit Function  
    End If  
    Dim strYear, strMonth, strDay  
    strYear = CInt(Mid(Ai, 7, 4))  
    strMonth = CInt(Mid(Ai, 11, 2))  
    strDay = CInt(Mid(Ai, 13, 2))  
    BirthDay = Trim(strYear) + "-" + Trim(strMonth) + "-" + Trim(strDay)  
    If IsDate(BirthDay) Then  
        If DateDiff("yyyy",Now,BirthDay)<-140 or cdate(BirthDay)>date() Then          
            CheckCardId= "身份證輸入錯(cuò)誤!"  
            Exit Function  
        End If  
        If strMonth > 12 Or strDay > 31 Then  
            CheckCardId= "身份證輸入錯(cuò)誤!"  
            Exit Function  
        End If  
    Else  
        CheckCardId= "身份證輸入錯(cuò)誤!"  
        Exit Function  
    End If  
    Dim i, TotalmulAiWi  
    For i = 0 To 16  
        TotalmulAiWi = TotalmulAiWi + CInt(Mid(Ai, i + 1, 1)) * Wi(i)  
    Next  
    Dim modValue  
    modValue = TotalmulAiWi Mod 11  
    Dim strVerifyCode  
    strVerifyCode = arrVerifyCode(modValue)  
    Ai = Ai & strVerifyCode   
    CheckCardId = Ai 
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 聂荣县| 天等县| 剑川县| 张家港市| 阆中市| 龙胜| 郁南县| 德惠市| 郴州市| 宾川县| 武陟县| 公安县| 唐河县| 建瓯市| 印江| 仪陇县| 海林市| 星子县| 卢龙县| 南郑县| 遵义县| 合山市| 拉萨市| 陇南市| 娄烦县| 漾濞| 榆中县| 岑溪市| 六盘水市| 遵化市| 大厂| 固阳县| 固原市| 浦北县| 介休市| 丹江口市| 陵川县| 吉安县| 肥西县| 卓资县| 德惠市|