电商网站源代码,企业推广是什么意思,广告推广文案,造价信息网官网1.字符类
\w 匹配字母数字下划线#xff0c;相当于[0-9A-Za-z_]
\s 匹配单个空白字符#xff0c;包括空格、制表符、回车符、换行符
\b 匹配一个词的边界
2.边界符
如果不加任何边界符#xff0c;则表示包含。以下只要包含即可 // /123/ 匹配内容是否包含有123var rg …1.字符类
\w 匹配字母数字下划线相当于[0-9A-Za-z_]
\s 匹配单个空白字符包括空格、制表符、回车符、换行符
\b 匹配一个词的边界
2.边界符
如果不加任何边界符则表示包含。以下只要包含即可 // /123/ 匹配内容是否包含有123var rg /123/console.log(rg.test(123))console.log(rg.test(1234))console.log(rg.test(41234))
3.字符集合[]
字符集合表示有一系列字符可供选择只要匹配其中一个就可以。
3.1 不带边界符包含任意一个则返回true
var rg /[abc]/
rg.test(a)
rg.test(ab)
rg.test(abc)
rg.test(abcd)
3.2 存在起止边界符
加了起止边界符表示只能匹配任意一个字符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)
3.3 [-]表示取某个范围值
var rg2 /[a-z]/ // -表示取某个范围值
3.4 [^] 表示取反
var rg3 /[^a-z]/ // ^表示取反
4.量词符
量词符用来设定某个模式出现的次数
|量词符 |说明 |
* 重复零次或更多次 重复一次或更多次? 重复零次或一次{n} 重复n次{n, m}重复n到m次
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}$/5.分组符号 ()
对字符进行分组小括号包裹的内容可以看作一个整体。$1表示第一个分组$2表示第二个以此类推
var rg /^abc{1,3}$/; //c匹配1次到3次
var rg1 /^(abc){1,3}$/; //abc匹配1次到3次
6.正则表达式的参数
思考一个问题我们需要匹配到某个字符串中所有满足条件的字符应该如何匹配可以组合使用如/a/ig
g 全局搜索i 不区分大小写搜索m 多行搜索s 允许.匹配换行符u 使用unicode码的模式进行匹配y 执行“粘性(sticky)”搜索,匹配从目标字符串的当前位置开始
match()匹配到返回的数组
var rg /ab/gababab.match(rg)
7.正则表达式常见的用法
7.1 replace替换
str.replace(regexp|substr, newSubStr|function)
第一个参数可以是正则或者字符串
第二个参数为需要替换的字符串或者一个函数
要求1将手机号的中间四位替换成*例如13877283312变成138****3312
分组和replace实现 var str 13877283312console.log(str.replace(/(\d{3})\d{4}(\d{4})/, $1****$2))
要求2单词首字母转为大写/\b(\w)/g例如my name is allen, i like code.
通过/\b(\w)/g匹配首字母 var str my name is allen, i like codeconsole.log( str.replace(/\b(\w)/g, function (m) {console.log(m)return m.toUpperCase()}))
要求3大于0并且不超过两位小数 // 大于0并且不超过两位小数let str 0.445;let str1 0;let str2 1;let str3 1.3;let reg /^([0-9])\.{0,1}[0-9]{1,2}$/;console.log(reg.test(str));console.log(reg.test(str1));console.log(reg.test(str2));console.log(reg.test(str3));