123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- function checkPassword(string){
- //密码组合规则-6-16位数字和字符组合,不能纯数字、纯英文
- // var filter = /^(?=.*[0-9\!@#\$%\^&\*])(?=.*[a-zA-Z]).{6,16}$/;
- //不限制特殊字符种类 /^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$).{6,18}$/
- // 6-18位字符,数字、字母、特殊字符-=_+,. ,必须两种及以上组合
- var filter = /^(?![\d]+$)(?![a-zA-Z]+$)(?![-=+_.,]+$)[\da-zA-Z-=+_.,]{6,16}$/;
- if (string == undefined) {
- return false;
- } else if (!filter.test(string)) {
- return false;
- } else {
- return true;
- }
- }
- function checkEMail(string) {
- var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
- if (string == undefined) {
- return false;
- } else if (!myreg.test(string)) {
- return false;
- } else {
- return true;
- }
- }
- function checkPhone(string) {
- // var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\d{8})$/;
- var myreg = /^(13[0-9]|14[5-9]|15[012356789]|166|17[0-8]|18[0-9]|19[8-9])[0-9]{8}$/;
- if (string == undefined) {
- return false;
- } else if (string.length < 11) {
- return false;
- } else if (!myreg.test(string)) {
- return false;
- } else {
- return true;
- }
- }
- function checkRequired(string) {
- if (string == undefined || string == '') {
- return false;
- } else {
- return true;
- }
- }
- function checkLength(num, length) {
- if (num < length) {
- return false;
- } else {
- return true;
- }
- }
- function checkCardId(string) {
- var code = string;
- var city = {
- 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 tip = "";
- var pass = true;
- var reg = /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/;
- if (!code || !code.match(reg)) {
- tip = "身份证号格式错误";
- pass = false;
- } else if (!city[code.substr(0, 2)]) {
- tip = "地址编码错误";
- pass = false;
- } else {
- //18位身份证需要验证最后一位校验位
- if (code.length == 18) {
- code = code.split('');
- //∑(ai×Wi)(mod 11)
- //加权因子
- var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
- //校验位
- var parity = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2];
- var sum = 0;
- var ai = 0;
- var wi = 0;
- for (var i = 0; i < 17; i++) {
- ai = code[i];
- wi = factor[i];
- sum += ai * wi;
- }
- var last = parity[sum % 11];
- if (parity[sum % 11] != code[17]) {
- tip = "校验位错误";
- pass = false;
- }
- }
- }
- console.log(pass)
- if (pass) {
- return true
- }
- if (!pass) return false;
- }
- export default {
- checkPassword,
- checkEMail,
- checkPhone,
- checkRequired,
- checkCardId,
- checkLength
- }
|