Open fengcaian opened 6 years ago
不匹配某些字符串:
var partten = /^((?!insert|delete).)*$/;
var str = 'inse1rt112de2lete';
console.log(partten.test(str));
var str = 'this is 000¥ and 0000000$';
var reg = /([0]+(?=[¥|\$]))/g;
var reg2 = /0+[¥|\$]/g;
console.log(str.replace(reg, 'A'));
```reg和reg2的区别是前者只替换0,后者会将0和¥及$都替换
只能输入汉字:^[\u4e00-\u9fa5]*$
不能输入汉字:^[^\u4e00-\u9fa5]*$
匹配0001-9999:/^0{3}[1-9]|0{2}[1-9]\d|0[1-9]\d{2}|[1-9]\d{3}$/
可以的
匹配数字的时候先将数字转换为字符串
匹配价格(数字或小数,金额不能带负数): 小数点前0到7位,小数点后1或2位:
/(^[1-9]\d(\.\d{1,7})?$)|(^0(\.\d{1,2})?$)/
正数数字:/(^[1-9]\d(\.\d+)?$)|(^0(\.\d)?$)/
匹配0或者正整数,通常是校验数量:/^([1-9]\d|0)$/
匹配负数,0,正数:/(^([-])?[1-9]\d(\.\d+)?$)|(^([-])?0(\.\d+)?$)/
匹配 0 < x < 1的数字: var regexp =
/^0.[0-9]*[1-9]+$/
; console.log(regexp.test('0.1')); // true console.log(regexp.test('0.10')); // false 匹配 0 <= x <= 1的数字:/^0.[0-9]*[1-9]+|0|1$/
;JS基于正则实现数字千分位用逗号分割(适用于整数): num.toString().replace(/(\d)(?=(?:\d{3})+$)/g,'$1,')
判断字符串中是否含有重复字符:
/(.).*?\1/.test(str)
匹配某个特定字符之后的内容,比如匹配“-”之后到结尾之间的数字:
/(?<=-)\d+$/
匹配两个字符串A与B中间的字符串包含A与B:
A.*?B
匹配两个字符串A与B中间的字符串包含A但是不包含B:
A.*?(?=B)
匹配两个字符串A与B中间的字符串且不包含A与B:
(?<=A).*?(?=B)
去掉前后空格:
/(^\s)|(\s$)/g
不匹配某些特定字符串:/^((?!aaa|.html|.css).)*$/
匹配中文与数字中间的【逗号,空格】,可用于校验输入用户格式:
注:Firefox、IE(含edge)、Safari不支持正则中的后置断言
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp