规则表达式
二,应用场景
表单的验证
三,正则的使用
定义: 字面量:// 构造函数: new Regexp() 区别: new Regexp():放入变量
四,正则的方法
test():检测一个内容是否与正则匹配 如果匹配返回true 否则返回false exec():检测一个内容是否与正则匹配 如果匹配返回数组 否则返回null
元字符
元字符
[]匹配中括号内任意一个字符
var reg1 = /[abc]/;
[^]除了中括号内任意字符
var reg1 = /[^abc]/;
[0-9]匹配0到9的数字/匹配单个数字/可以修改范围
var reg1 = /[0-9]/;
[a-z][A-Z]匹配字母/区分大小写/可以修改范围
var reg1 = /[a-zA-Z]/;
\d 匹配数字
\D 匹配非数字
\w 匹配数字,字母,下划线 ===> [a-zA-Z0-9_]
\W 匹配非数字,字母,下划线
\s 匹配空格
\S 匹配非空格
\b 匹配边界
\B 匹配非边界
. 匹配除换行符以外的任意字符
转义()
/\./ 本身失去原有的功能
一,选择符
|:或
二,修饰符
i:不区分大小写 g:全文匹配 全局
三,字符串方法可以配合正则去使用
replace() 替换
var str = 'a,b,c,a';
//加g表示全局 全部的a都替换 否则只替换第一个
console.log(str.replace(/a/g,'w'))
math(支持全局,字符串方法):类似与exec(正则方法) 查找返回对应的值,【值是数组】。没有找到返回Nnull
限定符
^ 以什么开始 $ 以什么结束
重复
{n} 重复n次 针对于前一个 {n,} 重复最少n次,最多不限 {n,m} 重复最少n次,最多m次 * 重复最少0次,最多不限 + 重复最少一次,最多不限 ? 重复最少0次,最多一次
贪婪模式
一,贪婪模式
/\d{3,6}/g; g 取最大值6
二,非贪婪模式(懒惰模式)
/\d{3,6}?/g; ? 取最小值3
例子:var reg1 = /\d{3,6}?/g;
var str1 = '12345678912345';
console.log(str1.replace(reg1,'*'))
一,分组
() : 把部分内容组合在一起
二,字符类:获取分组内的内容
$1
$2
$3
...
前提:必须执行一次 必须要分组
var reg1 = /^(\d{4})-(\d{2})$/;
var str1 = '2021-06';
console.log(str1.replace(reg1,'$2'));
reg1.test(str1); console.log(RegExp.$2,RegExp.$1);
前瞻
正向前瞻:(?=):匹配符合的
//看一看 \d(数字)后面是不是字母,是的话匹配
var reg1 = /\d(?=[a-z])/g;
var str1 = '1a2b*%3asd5';
console.log(str1.replace(reg1,'*'));
//*a*b*%*asd5
负向前瞻:(?!):匹配不符合的
//看一看 \d(数字)后面不是字母的,不是的话匹配
var reg1 = /\d(?![a-z])/g;
var str1 = '1a2b*%3asd5';
console.log(str1.replace(reg1,'*'));
//1a2b*%3asd*
***jS正则没有后顾
//复杂密码 //可以有数字可以有字母,并且是3-6位 //必须有字母、必须有数字 //(?=.d):任意字符后必须是数字 //(?=.[a-z]):任意字符后必须是字母 var reg=/(?=.\d)(?=.a-z)[0-9a-zJ]{3,6}$/i; console. Log( reg.test(this value));
例子
//以字母a开头,后一位必须是数字
//字母a后面必须是一位数字
// var reg1 = /^a\d/;
// var str1 = 'a1';
// console.log(reg1.test(str1));
var btn = document.getElementById('btn'),
tel = document.getElementById('tel');
btn.onclick = function(){
//正则
//以1开头 第二位必须是3578中一位 剩下九位只能为数字
var reg = /^1[3578]\d{9}$/;
if(reg.test(tel.value)){
alert('手机号正确');
}else {
alert('错误');
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/144818.html