创建正则表达式
var reg = /a/ig// //间添加正则表达式内容,g表示全局,i忽略大小写
test
判断字符串是否复合正则表达式规则
<script>// 规则字符串中字符出现规律的表达式/* reg.test(str) */var str = "hello";var reg =/l/g;console.log(str.replace(reg,"*"));//he**oconsole.log(reg.test(str))//true</script>
exec
判断字符串是否复合正则表达式规则并提取分组
分组的内容会有()括住,字符串符合条件就会依次排列在数组的[1]后
var string = '/api/addgood/3'const res = /\/(api)\/getgood\/(\d+)/.exec(string)console.log(res[2]) //3
备选字符集
定义:规定某一位字符的备选字符列表
特点:多选一
<script>var str = "上海,上天,上哪里去"; //"*"var reg = /上[海天]/gconsole.log(str.replace(reg,"*"))//*,*,上哪里去</script>
<script>var reg =/[上天哪]/gvar str ="上海,哪里去,天";console.log(str.replace(reg,"*"))//*海,*里去,*</script>
备选字符的unicode号连续
一个数字[0-9]一个小写字母[a-z]一个大写字母[A-Z]一个数字或字母[0-9a-zA-Z]
预定义字符集
针对常用的备选字符集提供的简化符号
[0-9] --> \d //一位数字[0-9a-zA-Z_] -->\w //一位数字字母或下划线\s //1位空字符:空格,tab,换行. // 除换行外,其余所有字符
<script>var str ="_jhfdl2323_";var reg = /\d/g;console.log(str.replace(reg,"*"))//_jhfdl****_console.log(str.replace(/\w/g,"*"))//***********console.log(str.replace(/./g,"*"))//***********</script>
量词
确定数量
<script>/* test() *//*量词 规则字符出现的次数{m} 只出现m次{m,n} m<reg<n{m,} reg>m*/var pwd = "12115fdsfsd"; // 密码5-7numvar reg = /[0-9]{5,7}/;console.log(reg.test(pwd));</script>
不确定数量
<script>/*? 0-1 {0,1}+ 大于1个 {1,}* {0,}*/var str = "hje1";var reg =/\d+/console.log(reg.test(str))</script>
贪婪模式和懒惰模式
贪婪模式 给量词的情况下 默认取最大值 默认是贪婪的
var str = "123456abc";var reg = /\d{3,6}/;console.log(str.replace(reg,"*"))//*abc
懒惰模式?
var str = "123456abc";var reg = /\d{3,6}?/;console.log(str.replace(reg,"*"))*456abc
选择和分组
//选择| 读作"或"//分组()
选择
<script>var str = "哪里,哪去能发多少积分";console.log(str.replace(/哪里|能发/g,"*"))</script>
分组
手机号:+86或0086 可有可无,最多1个空字符 不限制个数13,4,5,7,8 选其一9位数字(\+86|0086)?\s*1[34578]\d{9}
指定匹配位置
开头和结尾:^开头的xxx;$结尾的xxx
何时使用:仅匹配开头的规则和结尾的规则时使用 固定搭配:^正则表达式$—>表示从头到尾完整匹配 开头和结尾只出现正则表达式的内容
何时使用:只要验证时,必须前加^,后加$!
^\s+//匹配字符串开头的所有空字符\s+$//匹配字符串结尾的所有空字符
var a =" hello";var reg =/^\s+/;var str =a.replace(reg,"");console.log(str);
排除
//除了abc[^abc]
