常用正则校验汇总
正则在写代码过程中是必不可少的一环,这里汇总一下,便于后期开发使用。
1、手机号校验
var phoneReg = /^1[3456789]\d{9}$/; // 通用校验规则 console.log(reg.test(13679563335))
var phoneReg1 = /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/; // 详细手机号校验规则
console.log(reg.test(13679563335))
var reg = /^((0\d{2,3}-\d{7,8})|(1[34578]\d{9}))$/;; //验证手机号和固定电话
2、邮箱格式校验
var emailReg = /[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?/; console.log(1017737292@qq.com)
3、用户名校验
var userNameReg = /^[a-zA-Z0-9_-]{6,16}$/; //6-16位的包含大小写字母、数字、特殊符号- _ 的用户名
var userNameReg1 = /^(?![0-9]*$)(?![a-zA-Z]*$)[a-zA-Z0-9]{6,20}$/; //6-20位字母和数字组合
4、密码强度校验
var reg = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/; //密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符
var passwordReg = /^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$)([^\u4e00-\u9fa5\s]){6,20}$/; // 请输入6-20位英文字母、数字或者符号(除空格),且字母、数字和标点符号至少包含两种 //输出 true console.log(reg.test("123qweA#"));
5、整数校验
//正整数正则 const posReg = /^\d+$/; //负整数正则 const negReg = /^-\d+$/; //整数正则 const numReg = /^-?\d+$/;
const re = /^[0-9]*[1-9][0-9]*$/; // 正整数正则 console.log(posReg.test("15")); //输出 true console.log(negReg.test("-15")); //输出 true console.log(numReg.test("-25")); //输出 true
6、身份证验证
var idcardReg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; console.log(37281019653429120)
7、合法url校验
const urlReg = /^(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.,?'\\+&%$#=~_-]+))*$/;
8、验证输入内容是否包含英文数字及下划线
var reg = /^[_a-zA-Z0-9]+$/; console.log(reg.test('2334sdfsfk3'));
9、验证1-99之间的数字
var reg = /^[1-9][0-9]{0,1}$/;
console.log(33);
10、验证是否两位小数
var twoDigReg = /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/; console.log(twoDigReg.test(123.24));
11、中文校验
var chineseReg = /^[\u0391-\uFFE5A-Za-z]+$/; console.log(chineseReg.test('中国2'));
12、纯数字校验
var numberReg = /^\d+$|^\d+[.]?\d+$/; console.log(numberReg.test(2344.2))
13、最多一位小数
var reg = /^[0-9]+([.]{1}[0-9]{1})?$/; console.log(reg.test(23.23));
14、ip地址校验
//ipv4地址正则 var reg = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/; console.log(reg.test("115.28.47.26")); //输出 true
15、包含中文的校验
var reg = /[\u4e00-\u9fa5]/gm console.log(reg.test('小夭同学')
16、只能输入n个字符
var reg = /^\d{n}$/
console.log(reg.test(434))
17、至少输入n个字符
var reg = /^\d{n,}$/; console.log(reg.test(11212));
18、输入m-n个字符
var reg = /^\d{m,n}$/ console.log(reg.test(1212))
19、内容只能由英文、数字、下划线组成
var reg = /^\w+$/; console.log(reg.test(drt23_));
20、内容只能包含英文字母和数字
var reg = /^[a-z0-9]+$/i; console.log(reg.test(455fdg));