博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js 各种校验
阅读量:4625 次
发布时间:2019-06-09

本文共 3354 字,大约阅读时间需要 11 分钟。

/**   * @Description:各种js验证 * @author dingke  * @date 2014-10-12* @version V1.0   */  function trim(str){ //删除左右两端的空格       return str.replace(/(^\s*)|(\s*$)/g, "");   }//验证电话号码function valiPhone(phone){    var reg = /^((\+86)|(86))?(1[3|5|8])\d{9}$/;    var regtel = /^((\+86)|(86))?((\d{3,4})|\d{3,4})(-)?\d{7,8}(-\d{1,4})?$/;    if (reg.test(phone) || regtel.test(phone)) {        return true;    }    return false;}//验证金额function valiMoney(Money){    var regx=/^([1-9][\d]{0,7}|0)(\.[\d]{1,2})?$/;    if(regx.test(Money)){        return true;    }else{        return false;    }}//验证邮箱function valiEmail(email){	var reg=/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;	return eamil.math(reg);}//验证姓名function validName(insuredName) {		var reg1=/^[\u0391-\uFFE5]+$/;//中文	var reg2=/^[a-zA-Z]+$/;  //英文		var reg4 = "[`~!@#%$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()&;—|{}【】‘;:”“'。,、?]";	if(insuredName == ""){		alert("名称不能为空");		return false;	}else if (insuredName.match(reg1) || insuredName.match(reg2)) {					return true;	}else{		return false;	}}//身份证验证function IdCardValidate(idCard) {    idCard = trim(idCard.replace(/ /g, ""));               //去掉字符串头尾空格                         if (idCard.length == 15) {        return isValidityBrithBy15IdCard(idCard);       //进行15位身份证的验证        } else if (idCard.length == 18) {        var a_idCard = idCard.split("");                // 得到身份证数组  		return isValidityBrithBy18IdCard(idCard) && isTrueValidateCodeBy18IdCard(a_idCard);//校验身份数组和第18位校验码     } else {        return false;    }}//第18位校验码求和var Wi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1];  var ValideCode = [1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2];function isTrueValidateCodeBy18IdCard(a_idCard) {    var sum = 0;                             // 声明加权求和变量       if (a_idCard[17].toLowerCase() == 'x') {        a_idCard[17] = 10;                    // 将最后位为x的验证码替换为10方便后续操作       }    for (var i = 0; i < 17; i++) {        sum += Wi[i] * a_idCard[i];            // 加权求和       }    valCodePosition = sum % 11;                // 得到验证码所位置       if (a_idCard[17] == ValideCode[valCodePosition]) {        return true;    } else {        return false;    }}/**    * 验证18位数身份证号码中的生日是否是有效生日    * @param idCard 18位书身份证字符串    * @return    */function isValidityBrithBy18IdCard(idCard18) {    var year = idCard18.substring(6, 10);    var month = idCard18.substring(10, 12);    var day = idCard18.substring(12, 14);    var temp_date = new Date(year, parseFloat(month) - 1, parseFloat(day));    // 这里用getFullYear()获取年份,避免千年虫问题       if (temp_date.getFullYear() != parseFloat(year)          || temp_date.getMonth() != parseFloat(month) - 1          || temp_date.getDate() != parseFloat(day)) {        return false;    } else {        return true;    }}function isValidityBrithBy15IdCard(idCard15) {    var year = idCard15.substring(6, 8);    var month = idCard15.substring(8, 10);    var day = idCard15.substring(10, 12);    var temp_date = new Date(year, parseFloat(month) - 1, parseFloat(day));    // 对于老身份证中的你年龄则不需考虑千年虫问题而使用getYear()方法       if (temp_date.getYear() != parseFloat(year)            || temp_date.getMonth() != parseFloat(month) - 1            || temp_date.getDate() != parseFloat(day)) {        return false;    } else {        return true;    }}

  

转载于:https://www.cnblogs.com/driftking/p/6733328.html

你可能感兴趣的文章
01背包问题学习笔记
查看>>
【转】oracle lz047中的REGEXP_LIKE(cust_first_name,'[[:digit:]]'))
查看>>
网络抓包,协议分析,流量统计程序
查看>>
Idea 2017 激活方法
查看>>
Bootstrap组件福利篇:十二款好用的组件推荐
查看>>
Qt Excel
查看>>
html和css中的技巧
查看>>
Sequence
查看>>
python 基础语法知识(一)
查看>>
微软BI 之SSIS 系列 - Merge, Merge Join, Union All 合并组件的使用以及Sort 排序组件同步异步的问题...
查看>>
codeforces 9 div2 C.Hexadecimal's Numbers 暴力打表
查看>>
Angularjs html文本显示
查看>>
文件链接步骤
查看>>
bzoj 5288: [Hnoi2018]游戏
查看>>
清除浮动的方法汇总
查看>>
我县政务网站群建设经验总结
查看>>
站立会议06
查看>>
pyspider遇到的SSL问题
查看>>
Linux用户密码策略
查看>>
轻量级git服务器
查看>>