1. 验证是否为合法url
function validateURL(textval) {
const urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/
return urlregex.test(textval)
}
//事例
validateURL("https://juejin.cn/editor/drafts/6969756478932516894") //true
validateURL("https://editor/drafts/6969756478932516894") //false
validateURL("https://editor.commmmm/drafts/6969756478932516894") //false
validateURL("ht://editor.com/drafts/6969756478932516894") //false
复制代码
2. 验证是否为合法邮箱
function isEmail(s) {
return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s)
}
//事例
isEmail("13556284875@qq.com") //true
isEmail("ddg@asd.com") //true
isEmail("ddgasd.com") //false
isEmail("ddgasd@dsg.comg") //false
复制代码
2. 验证是否为合法手机号码
function isMobile(s) {
return /^1[3|4|5|7|8][0-9]{9}$/.test(s)
}
//事例
isMobile("13556525845") //true
isMobile("11454787548") //false
isMobile("135555555554") //false
isMobile("135555555") //false
复制代码
3.判断是否无内容
function isNoval(val) {
if (typeof val == 'boolean') {
return false;
}
if (typeof val == 'number') {
return false;
}
if (val instanceof Array) {
if (val.length == 0) return true;
} else if (val instanceof Object) {
if (JSON.stringify(val) === '{}') return true;
} else {
if (val == 'null' || val == null || val == 'undefined' || val == undefined || val == '') return true;
return false;
}
return false;
}
// 事例
isNoval(0) //false
isNoval(null) //true
isNoval({}) //true
isNoval("") //true
复制代码
4.验证是否为合法身份证号码
function isIdcard(code) {
code+=''
let list = [];
let result = false;
let msg = '';
let 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: "国外 "
};
if (!isNoval(code)) {
if (code.length == 18) {
if (!code || !/(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(code)) {
msg = "证件号码格式错误";
} else if (!city[code.substr(0, 2)]) {
msg = "地址编码错误";
} else {
//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, 'x'];
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;
}
if (parity[sum % 11] != code[17]) {
msg = "证件号码校验位错误";
} else {
result = true;
msg = "证件号码校验成功";
}
}
} else {
msg = "证件号码长度不为18位";
}
} else {
msg = "证件号码不能为空";
}
list.push(result);
list.push(msg);
return list;
}
// 事例
isIdcard() // [false, "证件号码不能为空"]
isIdcard(11021547575) // [false, "证件号码长度不为18位"]
isIdcard(110215475754487875) // [false, "证件号码校验位错误"]
isIdcard("142636198604225314") // [true, "证件号码校验成功"]
复制代码
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END