Js-正则表达式
正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串,
正则表达式通常被用来检索、替换那些符合某个模式的文本
声明方法
//定义一个字符串 var str = ' Iloveyou1314_ '; 第一种 var reg = new RegExp('ve'); 第二种 var reg = /you/;
分隔符: / /
转义字符
var reg = /\w/; //匹配单个的数字,字母,下划线
var reg = /\W/; //匹配单个的非数字,字母,下划线
var reg = /\d/; //匹配单个数字
var reg = /\D/; //匹配单个非数字
var reg = /\s/; //匹配单个空白 空格 \r\n \t
var reg = /\S/; //匹配单个非空白
var reg = /\t/; //匹配制表符
元字符
1 var reg = /./; //匹配单个任意字符 \r\n不能匹配
2 var reg = /.*/; //匹配0次 一次或者多次 贪婪模式
3 var reg = /\d+/; //匹配一次或者多次 贪婪模式
4 var reg = /.*?/; //取消贪婪模式 0次 看谁 看*
5 var reg = /\w+?/; //取消贪婪模式 1次 看谁 看+
6 var reg = /\w{6,12}/; //最少是6位最多匹配12位
7 var reg = /\w{0,}/;
8 var reg = /[0-9a-zA-Z]+/; //匹配符合中括号里面的规则 一次
9 var reg = /^[0-9]+?/;
10 var reg = /[0-9]$/;
模式修饰符
/i (忽略大小写)
/g (全文查找出现的所有匹配字符)
/m (多行查找)
/gi(全文查找、忽略大小写)
/ig(全文查找、忽略大小写)
常用方法
test() exec()
var res = reg.test(str);//返回布尔类型的值,存在true 不存在就false
var res1 = reg.exec(str);//返回值 如果匹配到返回数组,如果不存在 返回 null
字符串方法 match()
案例
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <title>Document</title>
6 </head>
7 <body>
8 用户名: <input type="text" id='texts' onblur='func(this)'/>
9
10 <script>
11 var texts = document.getElementById('texts');
12
13 //失去焦点事件
14 function func(obj){
15
16 //获取你输入文本
17 var tv = obj.value;
18
19 // console.log(tv);
20 var reg = /^\w{6,12}$/;
21
22 var che = reg.test(tv);
23
24 if(!che){
25
26 alert('你输入的用户名不正确');
27
28 } else {
29
30 alert('对啦!!!');
31 }
32
33 }
34
35 </script>
36
37 </body>
38 </html>
1 <input type="text" id='texts' />
2
3 <script>
4
5 //匹配邮箱
6 var email = '38949e7@hotmial.edu';
7
8 var reg = /^\w+\@[0-9a-zA-Z]+\.(com|com.cn|edu|org|cn|hk|net)$/;
9
10 var str = reg.exec(email);
11
12 //匹配手机号
13
14 var texts= document.getElementById('texts');
15
16 // var phone = '15911234567';
17 texts.onblur = function(){
18
19 var tv = this.value;
20
21 var reg = /^1[345789]\d{9}$/;
22
23 //var str = reg.exec(phone);
24
25 if(reg.test(tv)){
26
27 alert('ok');
28 } else {
29
30 alert('false');
31 }
32
33 }
34 </script>