| 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
 
- }
 
 
  |