\w 匹配字母数字下划线,相当于[0-9A-Za-z_]
\s 匹配单个空白字符,包括空格、制表符、回车符、换行符
\b 匹配一个词的边界
如果不加任何边界符,则表示包含。以下只要包含即可
- // /123/ 匹配内容是否包含有123
- var rg = /123/
- console.log(rg.test('123'))
- console.log(rg.test('1234'))
- console.log(rg.test('41234'))
字符集合表示有一系列字符可供选择,只要匹配其中一个就可以。
- var rg = /[abc]/
- rg.test('a')
- rg.test('ab')
- rg.test('abc')
- rg.test('abcd')
加了起止边界符表示,只能匹配任意一个字符,a或者b或者c,其他都不行,如下会返回true false false false
- // 存在起止边界符:加了起止边界符表示,只能匹配任意一个字符,a或者b或者c,其他都不行,如下会返回true false false false
- var rg1 = /^[abc]$/
- rg1.test('a')
- rg1.test('ab')
- rg1.test('abc')
- rg1.test('abcd')
var rg2 = /[a-z]/ // -表示取某个范围值
var rg3 = /[^a-z]/ // ^表示取反
量词符用来设定某个模式出现的次数
|量词符 |说明 |
- var rg = /^[a-z]0*$/
- var rg1 = /^[a-z]0+$/
- var rg2 = /^[a-z]0?$/
- var rg3 = /^[a-z]0{2}$/
- var rg4 = /^[a-z]0{1,2}$/
对字符进行分组,小括号包裹的内容可以看作一个整体。$1表示第一个分组,$2表示第二个,以此类推
- var rg = /^abc{1,3}$/; //c匹配1次到3次
- var rg1 = /^(abc){1,3}$/; //abc匹配1次到3次
思考一个问题:我们需要匹配到某个字符串中所有满足条件的字符,应该如何匹配?可以组合使用,如/a/ig
match()匹配到返回的数组:
- var rg = /ab/g
-
- 'ababab'.match(rg)
str.replace(regexp|substr, newSubStr|function)
第一个参数可以是正则或者字符串
第二个参数为需要替换的字符串或者一个函数
分组和replace实现:
- var str = '13877283312'
- console.log(str.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2'))
通过/\b(\w)/g匹配首字母
- var str = 'my name is allen, i like code'
- console.log( str.replace(/\b(\w)/g, function (m) {
- console.log(m)
- return m.toUpperCase()
- }))
首先实现两位小数,那从两个方面来考虑。第一个是0到1之间即大于0小于1的,第二个是大于1的。从这两个角度来看,比如说0.00啊,0.00应该是不通过的,它是等于零的,然后0.0。像这一些应该给他排除。/^([1-9](\d+)?(\.\d{1,2})?)|(\d\.\d{1,2})$/或者/^([1-9]\d*(\.\d{1,2})?|([0](\.([0][1-9]|[1-9]\d{0,1}))))$/
- // 大于0并且不超过两位小数
- // 大于0并且不超过两位小数
- let str = 0.445;
- let str1 = 0;
- let str2 = 1;
- let str3 = 1.3;
- let str4 = 0.;
- let str5 = 0.00;
- let str6 = 0.0;
- let str7 = 811.0;
-
- let reg = /^([1-9](\d+)?(\.\d{1,2})?)|(\d\.\d{1,2})$/;
- // let reg = /^([1-9]\d*(\.\d{1,2})?|([0](\.([0][1-9]|[1-9]\d{0,1}))))$/;
- console.log(reg.test(str));
- console.log(reg.test(str1));
- console.log(reg.test(str2));
- console.log(reg.test(str3));
- console.log(reg.test(str4));
- console.log(reg.test(str5));
- console.log(reg.test(str6));
- console.log(reg.test(str7));