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/;  //匹配单个空白  空格 
 	
var reg = /S/;  //匹配单个非空白
var reg = /	/;  //匹配制表符

  

元字符

 1 var reg = /./;       //匹配单个任意字符  
不能匹配
 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>

 

原文地址:https://www.cnblogs.com/yuxiang-qiwa/p/8196418.html