JS验证邮箱格式、信用码、税号和注册号

来源:互联网 发布:软件测试测试用例 编辑:程序博客网 时间:2024/04/29 11:41

废话不多说,直接上代码。

1.邮箱格式判断

function isEmailAddress(obj) {    var pattern = /^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,5}$/;    flag = pattern.test(obj);    return flag;}

2.校验统一社会信用编码

function CheckSocialCreditCodeOrg(Code) {    var patrn = /^[0-9A-Z]+$/;    //18位校验及大写校验    if ((Code.length != 18) || (patrn.test(Code) == false))    {        return false;    }    else    {        var Ancode;//信用代码/税号的每一个值        var Ancodevalue;//信用代码/税号每一个值的权重        var total = 0;        var weightedfactors = [1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28];//加权因子        var str = '0123456789ABCDEFGHJKLMNPQRTUWXY';        //不用I、O、S、V、Z        for (var i = 0; i < Code.length - 1; i++)        {            Ancode = Code.substring(i, i + 1);            Ancodevalue = str.indexOf(Ancode);            total = total + Ancodevalue * weightedfactors[i];            //权重与加权因子相乘之和        }        var logiccheckcode = 31 - total % 31;        if (logiccheckcode == 31)        {            logiccheckcode = 0;        }        var Str = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,T,U,W,X,Y";        var Array_Str = Str.split(',');        logiccheckcode = Array_Str[logiccheckcode];        var checkcode = Code.substring(17, 18);        if (logiccheckcode != checkcode)        {            return false;            // alert("不是有效的统一社会信用编码!");        }else{            return true;        }    }}

3.校验个体工商户验证码
/**
*验证营业执照是否合法:营业执照长度须为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){    var ret=false;    if(busCode.length===15){//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;        }else{//营业执照编号错误!            ret=false;        }    }else{//营业执照格式不对,必须是15位数的!        ret=false;    }    return ret;}

4.纳税人识别号验证
/*
* 纳税人识别号验证
* 15位包括地区编码6位+组织机构代码9位
*/

function checkTaxpayerId(taxpayerId){    if(taxpayerId!="" && taxpayerId.length===15){        var addressCode = taxpayerId.substring(0,6);        // 校验地址码        var check = checkAddressCode(addressCode);        if(!check){            return false;        }        // 校验组织机构代码        var orgCode = taxpayerId.substring(6,9);        check = isValidOrgCode(orgCode);        if(!check){            return false;        }        return true;    }else{        return false;    }}

/**
*验证组织机构代码是否合法:组织机构代码为8位数字或者拉丁字母+1位校验码。
*验证最后那位校验码是否与根据公式计算的结果相符。
*/

function isValidOrgCode(value){    if(value!=""){        var part1=value.substring(0,8);        var part2=value.substring(value.length-1,1);        var ws = [3, 7, 9, 10, 5, 8, 4, 2];        var str = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';        var reg = /^([0-9A-Z]){8}$/;        if (!reg.test(part1))        {            return true        }        var sum = 0;        for (var i = 0; i< 8; i++)        {            sum += str.indexOf(part1.charAt(i)) * ws[i];        }        var C9 = 11 - (sum % 11);        var YC9=part2+'';        if (C9 == 11) {            C9 = '0';        } else if (C9 == 10) {            C9 = 'X' ;        } else {            C9 = C9+'';        }        return YC9!=C9;    }}

/*
*校验地址码
*/

function checkAddressCode(addressCode){    var provinceAndCitys={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:"国外"};    var check = /^[1-9]\d{5}$/.test(addressCode);    if(!check) return false;    if(provinceAndCitys[parseInt(addressCode.substring(0,2))]){        return true;    }else{        return false;    }}

最后,若觉得对你有帮助的话,请点赞关注一波哦~~~( ̄▽ ̄~)~

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 北京的房子 第一间黄房子开课 草房子读后感 五种房子越住越富 情侣在外租房子 房子过户费怎么算 房子简笔画图片 五种房子越住越穷 梦见房子漏水 草房子主要内容 上海红房子医院 带着房子去六零 梦见火烧房子 卖房子的女人 房子抵押给个人流程 房子过户需要什么手续 房子贷款利息计算公式 装修房子入住 60万房子过户费多少钱 房子贷款利息计算器 一百平方的房子装修要多少钱 上海青浦房子 在农村盖房子需要多少钱 100平方的房子 浦东新区房子 房子怎么过户 房子的方位怎么看 附近的房子两室一厅 装修好的房子 房子装修照片 农村房子设计平面图 北京房山房子 重庆房子均价 房子装修效果图大全 装修一套房子要多久 沈阳房子哪里好 90平房子装修价格 装修房子图片 退房子定金的好理由 120平方的房子装修需要多少钱 杭州 租房