js验证身份证营业执照组织机构代码等
//身份證驗證中頁面上要有一個id=ipmessage的標簽用來寫提示信息
//機構代碼驗證中頁面上要有一個id=agency_code的標簽來寫提示信息,并且要在CSS里寫一個check的CLASS樣式用來改變文本狀態
//營業執照驗證中頁面上要有一個id=business_license的標簽來寫提示信息,并且要在CSS里寫一個check的CLASS樣式用來改變文本狀態
//頁面樣式,例如:
<style>
.check{
? ? border:1px solid #826765;
? ? background-color:#f8e3e2;
? ? color:#5c0733;
? ? font-weight:bold;
}
</style>
<div class="gyydXm"><span class="gddyName">身 份 證 號 碼</span><span class="gddyInput">
? ? <input type="text" name="identity_card" id="identity_card" value="" class="gyydText" />
? ? </span><span class="gddyTs">*</span><span id="ipmessage" class="gddyTstext">必填</span></div>
<div class="gyydXm"><span class="gddyName">機 構 代 碼</span><span class="gddyInput">
? ? <input type="text" name="agency_code" id="agency_code" value="" class="gyydText" />
? ? </span><span class="gddyTs">*</span><span class="gddyTstext">必填</span></div>
<div class="gyydXm"><span class="gddyName">營 業 執 照 號</span><span class="gddyInput">
? ? <input type="text" name="business_license" id="business_license" value="" class="gyydText" />
? ? </span><span class="gddyTs">*</span><span class="gddyTstext">必填</span></div>
<script>
//身份證
function checkDate( idcard ){var socialNo = idcard;
if(socialNo == "") ?
? ? { ?
? ? ? $('#ipmessage').html('輸入身份證號碼格式不正確,必須是15位到18位的身份證號');
? ? ? //alert("輸入身份證號碼不能為空!"); ?
? ? ? return (false); ?
? ? } ?
? ? if (socialNo.length != 15 && socialNo.length != 18) ?
? ? { ?
? ? ? $('#ipmessage').html('輸入身份證號碼格式不正確,必須是15位到18位的身份證號');
? ? ?//alert("輸入身份證號碼格式不正確!"); ?
? ? ? return (false); ?
? ? } ?
? ? ? ??
? ?var area={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:"國外"}; ??
? ? ? ?
? ? ?if(area[parseInt(socialNo.substr(0,2))]==null) { ?
? ? ? $('#ipmessage').html('身份證號碼不正確(地區非法),必須是15位到18位的身份證號');
? ? ?//alert("身份證號碼不正確(地區非法)!"); ?
? ? ? ? ? return (false); ?
? ? ?} ??
? ? ? ? ? ??
? ? if (socialNo.length == 15) ?
? ? { ?
? ? ? ?pattern= /^\d{15}$/; ?
? ? ? ?if (pattern.exec(socialNo)==null){ ?
? ? ? ? ? $('#ipmessage').html('輸入身份證號碼格式不正確,必須是15位到18位的身份證號');
? ? ? ? ?//alert("15位身份證號碼必須為數字!"); ?
? ? ? ? ? return (false); ?
? ? ? } ?
? ? ? var birth = parseInt("19" + socialNo.substr(6,2)); ?
? ? ? var month = socialNo.substr(8,2); ?
? ? ? var day = parseInt(socialNo.substr(10,2)); ?
? ? ? switch(month) { ?
? ? ? ? ? case '01': ?
? ? ? ? ? case '03': ?
? ? ? ? ? case '05': ?
? ? ? ? ? case '07': ?
? ? ? ? ? case '08': ?
? ? ? ? ? case '10': ?
? ? ? ? ? case '12': ?
? ? ? ? ? ? ? if(day>31) { ?
? ? ? ? ? ? ? ? ? $('#ipmessage').html('輸入身份證號碼格式不正確,必須是15位到18位的身份證號');
? ? ? ? ? ? ? ? ?//alert('輸入身份證號碼不格式正確!'); ?
? ? ? ? ? ? ? ? ? return false; ?
? ? ? ? ? ? ? } ?
? ? ? ? ? ? ? break; ?
? ? ? ? ? case '04': ?
? ? ? ? ? case '06': ?
? ? ? ? ? case '09': ?
? ? ? ? ? case '11': ?
? ? ? ? ? ? ? if(day>30) { ?
? ? ? ? ? ? ? ? ? $('#ipmessage').html('輸入身份證號碼格式不正確,必須是15位到18位的身份證號');
? ? ? ? ? ? ? ? ?//alert('輸入身份證號碼不格式正確!'); ?
? ? ? ? ? ? ? ? ? return false; ?
? ? ? ? ? ? ? } ?
? ? ? ? ? ? ? break; ?
? ? ? ? ? case '02': ?
? ? ? ? ? ? ? if((birth % 4 == 0 && birth % 100 != 0) || birth % 400 == 0) { ?
? ? ? ? ? ? ? ? ? if(day>29) { ?
? ? ? ? ? ? ? ? ? ? ? $('#ipmessage').html('輸入身份證號碼格式不正確,必須是15位到18位的身份證號');
? ? ? ? ? ? ? ? ? ? ?//alert('輸入身份證號碼不格式正確!'); ?
? ? ? ? ? ? ? ? ? ? ? return false; ?
? ? ? ? ? ? ? ? ? } ?
? ? ? ? ? ? ? } else { ?
? ? ? ? ? ? ? ? ? if(day>28) { ?
? ? ? ? ? ? ? ? ? ? ? $('#ipmessage').html('輸入身份證號碼格式不正確,必須是15位到18位的身份證號');
? ? ? ? ? ? ? ? ? ? ?//alert('輸入身份證號碼不格式正確!'); ?
? ? ? ? ? ? ? ? ? ? ? return false; ?
? ? ? ? ? ? ? ? ? } ?
? ? ? ? ? ? ? } ?
? ? ? ? ? ? ? break; ?
? ? ? ? ? default: ?
? ? ? ? ? ? ? $('#ipmessage').html('輸入身份證號碼格式不正確,必須是15位到18位的身份證號');
? ? ? ? ? ? ?//alert('輸入身份證號碼不格式正確!'); ?
? ? ? ? ? ? ? return false; ?
? ? ? } ?
? ? ? var nowYear = new Date().getYear(); ?
? ? ? if(nowYear - parseInt(birth)<15 || nowYear - parseInt(birth)>100) { ?
? ? ? ? ? $('#ipmessage').html('輸入身份證號碼格式不正確,必須是15位到18位的身份證號');
? ? ? ? ?//alert('輸入身份證號碼不格式正確!'); ?
? ? ? ? ? return false; ?
? ? ? } ?
? ? ? $('#ipmessage').html('通過!');
? ? ? return (true); ?
? ? } ?
? ? ??
? ? var Wi = new Array( ?
? ? ? ? ? ? ? 7,9,10,5,8,4,2,1,6, ?
? ? ? ? ? ? ? 3,7,9,10,5,8,4,2,1 ?
? ? ? ? ? ? ? ); ?
? ? var ? lSum ? ? ? ?= 0; ?
? ? var ? nNum ? ? ? ?= 0; ?
? ? var ? nCheckSum ? = 0; ?
? ? ??
? ? ? for (i = 0; i < 17; ++i) ?
? ? ? { ?
? ? ? ? ? ??
? ? ? ? ? if ( socialNo.charAt(i) < '0' || socialNo.charAt(i) > '9' ) ?
? ? ? ? ? { ?
? ? ? ? ? ? ? $('#ipmessage').html('輸入身份證號碼格式不正確,必須是15位到18位的身份證號');
? ? ? ? ? ? ?//alert("輸入身份證號碼格式不正確!"); ?
? ? ? ? ? ? ? return (false); ?
? ? ? ? ? } ?
? ? ? ? ? else ?
? ? ? ? ? { ?
? ? ? ? ? ? ? nNum = socialNo.charAt(i) - '0'; ?
? ? ? ? ? } ?
? ? ? ? ? ?lSum += nNum * Wi[i]; ?
? ? ? } ?
? ? ??
? ? ? if( socialNo.charAt(17) == 'X' || socialNo.charAt(17) == 'x') ?
? ? ? { ?
? ? ? ? ? lSum += 10*Wi[17]; ?
? ? ? } ?
? ? ? else if ( socialNo.charAt(17) < '0' || socialNo.charAt(17) > '9' ) ?
? ? ? { ?
? ? ? ? ? $('#ipmessage').html('輸入身份證號碼格式不正確,必須是15位到18位的身份證號');
? ? ? ? ?//alert("輸入身份證號碼格式不正確!"); ?
? ? ? ? ? return (false); ?
? ? ? } ?
? ? ? else ?
? ? ? { ?
? ? ? ? ? lSum += ( socialNo.charAt(17) - '0' ) * Wi[17]; ?
? ? ? } ?
? ? ? ??
? ? ? ??
? ? ? if ( (lSum % 11) == 1 ) ?
? ? ? { ?
? ? ?$('#ipmessage').html('通過!');
? ? ? ? ? return true; ?
? ? ? } ?
? ? ? else ?
? ? ? { ?
? ? ? ? ? $('#ipmessage').html('輸入身份證號碼格式不正確,必須是15位到18位的身份證號');
? ? ? ? ?//alert("輸入身份證號碼格式不正確!"); ?
? ? ? ? ? return (false); ?
? ? ? } ?
? }
? /**
*驗證營業執照是否合法:營業執照長度須為15位數字,前14位為順序碼,
*最后一位為根據GB/T 17710 1999(ISO 7064:1993)的混合系統校驗位生成算法
*計算得出。此方法即是根據此算法來驗證最后一位校驗位是否政正確。如果
*最后一位校驗位不正確,則認為此營業執照號不正確(不符合編碼規則)。
*以下說明來自于網絡:
*我國現行的營業執照上的注冊號都是15位的,不存在13位的,從07年開始國
*家進行了全面的注冊號升級就全部都是15位的了,如果你看見的是13位的注
*冊號那肯定是假的。
*15位數字的含義,代碼結構工商注冊號由14位數字本體碼和1位數字校驗碼
*組成,其中本體碼從左至右依次為:6位首次登記機關碼、8位順序碼。
?* ? 一、前六位代表的是工商行政管理機關的代碼,國家工商行政管理總局用
? ? ? ? * ? ? ? ? ? “100000”表示,省級、地市級、區縣級登記機關代碼分別使用6位行
? ? ? ? * ? ? ? ? ? ? 政區劃代碼表示。設立在經濟技術開發區、高新技術開發區和保稅區
? ? ? ? * ? ? ? ? ? ? 的工商行政管理機關(縣級或縣級以上)或者各類專業分局應由批準
? ? ? ? * ? ? ? ? ? ? 設立的上級機關統一賦予工商行政管理機關代碼,并報國家工商行政
? ? ? ? * ? ? ? ? ? ? 管理總局信息化管理部門備案。
?* ? 二、順序碼是7-14位,順序碼指工商行政管理機關在其管轄范圍內按照先
? ? ? ? * ? ? ? ? ? ? 后次序為申請登記注冊的市場主體所分配的順序號。為了便于管理和
? ? ? ? * ? ? ? ? ? ? ?賦碼,8位順序碼中的第1位(自左至右)采用以下分配規則:
?* ? ? ? ? ?1)內資各類企業使用“0”、“1”、“2”、“3”;
?* ? ? ? ? ?2)外資企業使用“4”、“5”;
?* ? ? ? ? ?3)個體工商戶使用“6”、“7”、“8”、“9”。
?* ? 順序碼是系統根據企業性質情況自動生成的。
* ? 順序碼是系統根據企業性質情況自動生成的。
?*三、校驗碼是最后一位,校驗碼用于檢驗本體碼的正確性
*/
? ? function isValidBusCode(busCode){
? ? ? ? //return true;
? ? ? ? var ret=false;
? ? ? ? if(busCode.length==15){
? ? ? ? ? ? var sum=0;
? ? ? ? ? ? var s=[];
? ? ? ? ? ? var p=[];
? ? ? ? ? ? var a=[];
? ? ? ? ? ? var m=10;
? ? ? ? ? ? p[0]=m;
? ? ? ? ? ? for(var i=0;i<busCode.length;i++){
? ? ? ? ? ? ? ?a[i]=parseInt(busCode.substring(i,i+1),m);
? ? ? ? ? ? ? ?s[i]=(p[i]%(m+1))+a[i];
? ? ? ? ? ? ? ?if(0==s[i]%m){
? ? ? ? ? ? ? ? ?p[i+1]=10*2;
? ? ? ? ? ? ? ?}else{
? ? ? ? ? ? ? ? ?p[i+1]=(s[i]%m)*2;
? ? ? ? ? ? ? ? } ? ?
? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? if(1==(s[14]%m)){
? ? ? ? ? ? ? ?//營業執照編號正確!
? ? ? ? ? ? ? ? ret=true;
? ? ? ? ? ? ? ? $("#business_license").removeClass('check');
? ? ? ? ? ? ? ? $("#business_license").parent().siblings(".gddyTstext").text("營業執照編號正確!");
? ? ? ? ? ? ? ? //alert("營業執照編號正確!");
? ? ? ? ? ? }else{
? ? ? ? ? ? ? ?//營業執照編號錯誤!
? ? ? ? ? ? ? ? ret=false;
? ? ? ? ? ? ? ? $("#business_license").addClass('check');
? ? ? ? ? ? ? ? $("#business_license").parent().siblings(".gddyTstext").text("營業執照編號錯誤!");
? ? ? ? ? ? ? ? //alert("營業執照編號錯誤!");
? ? ? ? ? ? ?}
? ? ? ? }//如果營業執照為空
? ? ? ? else if(""==busCode){
? ? ? ? ? ? $("#business_license").addClass('check');
? ? ? ? ? ? $("#business_license").parent().siblings(".gddyTstext").text("營業執照編號不能為空!");
? ? ? ? ? ? ret=false;
? ? ? ? }else{
? ? ? ? ? ? ret=false;
? ? ? ? ? ? $("#business_license").addClass('check');
? ? ? ? ? ? $("#business_license").parent().siblings(".gddyTstext").text("營業執照格式不對,必須是15位數的!");
? ? ? ? ? ? //alert("營業執照格式不對,必須是15位數的!");
? ? ? ? }
? ? ? ? return ret;
? ? }
? ? /**
*驗證組織機構代碼是否合法:組織機構代碼為8位數字或者拉丁字母+“-”+1位校驗碼。
*驗證最后那位校驗碼是否與根據公式計算的結果相符。
*編碼規則請參看
*http://wenku.baidu.com/view/d615800216fc700abb68fc35.html
*/
function isValidOrgCode(orgCode){
? ?//return ""==orgCode || orgCode.length==10;
? ?//return true;
? ?var ret=false;
? ?var codeVal = ["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];
? ?var intVal = ? ?[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35];
? ?var crcs =[3,7,9,10,5,8,4,2];
? ?if(!(""==orgCode) && orgCode.length==10){
? ? ? var sum=0;
? ? ? for(var i=0;i<8;i++){
? ? ? ? ?var codeI=orgCode.substring(i,i+1);
? ? ? ? ?var valI=-1;
? ? ? ? ?for(var j=0;j<codeVal.length;j++){
? ? ? ? ? ? ?if(codeI==codeVal[j]){
? ? ? ? ? ? ? ? valI=intVal[j];
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ?}
? ? ? ? ?}
? ? ? ? ?sum+=valI*crcs[i];
? ? ? }
? ? ? var crc=11- (sum%11);
? ? ? ? ? ? ? ?
? ? ? switch (crc){
? ? ? ? ? ? ? ? ? ?case 10:{
? ? ? ? ? ? ? ? ? ? ? ?crc="X";
? ? ? ? ? ? ? ? ? ? ? ?break;
? ? ? ? ? ? ? ? ? ?}default:{
? ? ? ? ? ? ? ? ? ? ? ?break;
? ? ? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ?}
? ? ? //alert("crc="+crc+",inputCrc="+orgCode.substring(9));
? ? ? ? ? ? ? ?//最后位驗證碼正確
? ? ? if(crc==orgCode.substring(9)){
? ? ? ? ? ? ? ? ? ?ret=true;
? ? ? ? ? ? ? ? ? ?$("#agency_code").removeClass('check');
? ? ? ? ? ? ? ? ? ?$("#agency_code").parent().siblings(".gddyTstext").text("正確!");
? ? ? }else{
? ? ? ? ? ? ? ? ? ?ret=false;
? ? ? ? ? ? ? ? ? ?$("#agency_code").addClass('check');
? ? ? ? ? ? ? ? ? ?$("#agency_code").parent().siblings(".gddyTstext").text("組織機構代碼不正確!");
? ? ? ? ? ? ? ?}
? ?}else if(""==orgCode){
? ? ? ?ret=false;
? ? ? ? ? ? ? ? $("#agency_code").addClass('check');
? ? ? ? ? ? ? ? $("#agency_code").parent().siblings(".gddyTstext").text("組織機構代碼不能為空!");
? ?}else{
? ? ? ? ? ? ? ? ret=false;
? ? ? ? ? ? ? ? $("#agency_code").addClass('check');
? ? ? ? ? ? ? ? $("#agency_code").parent().siblings(".gddyTstext").text("組織機構代碼格式不正確,組織機構代碼為8位數字或者拉丁字母+“-”+1位校驗碼,并且字母必須大寫!");
? ? ? ? ? ? }
? ?return ret;
}
</script>
/*思路來源:
http://wenku.baidu.com/view/71e20c6f011ca300a6c390d2.html
*/
總結
以上是生活随笔為你收集整理的js验证身份证营业执照组织机构代码等的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 成为一名初级游戏策划
- 下一篇: 【实用工具】如何录制电脑屏幕gif动图?