日常开发中使用频率高的正则

这是 正则表达式在线生成工具 的链接
还有更多正则表达式:正则表达式之数字验证
        https://blog.csdn.net/w13528476101/article/details/78821426

1、判断价格必须为数字,可包括小数点:

var patrn = /^(([1-9][0-9]*\.[0-9][0-9]*)|([0]\.[0-9][0-9]*)|([1-9][0-9]*)|([0]{1}))$/g;
console.log(patrn.test(val))

2、验证整数、浮点数及其正负:

// 验证 数字,不论是否为负数,不论是否外面加了引号
    // 先 绝对值,再 判断
var str = "123.456";
var s = Math.abs(str);
var reg= /^[0-9]+.?[0-9]*$/;
console.log(reg.test(s));

// 验证 整数
var str = "123456";
var reg= /-?[1-9]\d*/;
console.log(reg.test(str));

// 验证 数字
var str = "123456";
var reg = /^(([1-9][0-9]*\.[0-9][0-9]*)|([0]\.[0-9][0-9]*)|([1-9][0-9]*)|([0]{1}))$/g;
console.log(reg.test(str));

// 验证 正整数
    // 包含 0 的正整数
var str = "123456";
var reg= /^[0-9]+$/g;
var reg=/^([1-9]\d*|[0]{1,1})$/; // 两个都可用
console.log(reg.test(str));
    // 不包含 0 的正整数
var str = "123456";
var reg= /^([1-9][0-9]*){1,3}$/g;    // 两个都可用
// var reg= /^\+?[1-9][0-9]*$/g;    // 两个都可用
console.log(reg.test(str));


// 验证 负整数
var str = "123456";
var reg= /-[1-9]\d*/;
console.log(reg.test(str));


// 验证 正浮点数
var str = "123456";
var reg= /[1-9]\d*.\d*|0.\d*[1-9]\d*/;
console.log(reg.test(str));


// 验证 负浮点数
var str = "123456";
var reg= /-([1-9]\d*.\d*|0.\d*[1-9]\d*)/;
console.log(reg.test(str));

    除以上正则:
    Math.sign(val),也可判断正负。返回值为 1 时为正,为 -1 时为负。
    Number.isInteger() =>判断一个值是否为整数

3、验证 xxxx-xxxxxxxx(前四后八)和 xxx-xxxxxxxx(前三后八):

var phone = '023-55556666';
var result = /^\d{3,4}-\d{6,8}$/.test(phone);
console.log(result);

4、验证身份证号码:

var a = '222222333366669999';
var reg = /^\d{17}[\d|x]|\d{15}$/g;
console.log(reg.test(a));

5、验证 QQ 号:

var a = '1258456253';
var reg = /^[1-9]([0-9]{5,11})$/g;
console.log(reg.test(a));

6、验证日期格式:

var a = '2018-09-11';
var reg = /^\d{4}(\-|\/|.)\d{1,2}\1\d{1,2}$/g;
console.log(reg.test(a));


// 这个正则基本上把闰年和2月等的情况都考虑进去了 (但闰年 2 月似乎仍有问题,有待更新)
var a = '2020-02-29';
var reg = /^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$/g;
console.log(reg.test(a));

7、验证邮箱格式:

var a = '[email protected]';
var reg = /^\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}$/g;
console.log(reg.test(a));

8、验证网址:

var a = 'http://tools.jb51.net/regex/create_reg';
var reg = /^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+$/g;
console.log(reg.test(a));

9、验证国内手机号:

var a = '13155556666';
var reg = /^0?(13|14|15|18)[0-9]{9}$/g;
console.log(reg.test(a));

10、验证国内电话号:

var a = '0235-56259656';
var reg = /^[0-9-()()]{7,18}$/g;
console.log(reg.test(a));

暂未整理:

验证数字:^[0-9]*$
验证n位的数字:^\d{n}$
验证至少n位数字:^\d{n,}$
验证m-n位的数字:^\d{m,n}$
验证零和非零开头的数字:^(0|[1-9][0-9]*)$
验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
验证非零的正整数:^\+?[1-9][0-9]*$
验证非零的负整数:^\-[1-9][0-9]*$
验证非负整数(正整数 + 0) ^\d+$
验证非正整数(负整数 + 0) ^((-\d+)|(0+))$
验证长度为3的字符:^.{3}$
验证由26个英文字母组成的字符串:^[A-Za-z]+$
验证由26个大写英文字母组成的字符串:^[A-Z]+$
验证由26个小写英文字母组成的字符串:^[a-z]+$
验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
验证由数字、26个英文字母或者下划线组成的字符串:^\w+$
验证用户密码:^[a-zA-Z]\w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。
验证是否含有 ^%&',;=?$\" 等字符:[^%&',;=?$\x22]+
验证汉字:^[\u4e00-\u9fa5],{0,}$
验证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
验证电话号码:^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$:--正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。
验证身份证号(15位或18位数字):^\d{15}|\d{}18$
验证一年的12个月:^(0?[1-9]|1[0-2])$ 正确格式为:“01”-“09”和“1”“12”
验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ 正确格式为:01、09和1、31。
整数:^-?\d+$
非负浮点数(正浮点数 + 0):^\d+(\.\d+)?$
正浮点数 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
非正浮点数(负浮点数 + 0) ^((-\d+(\.\d+)?)|(0+(\.0+)?))$
负浮点数 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
浮点数 ^(-?\d+)(\.\d+)?

猜你喜欢

转载自blog.csdn.net/BetterGG/article/details/83180834