JavaScript 正则表达式

1.正则表达式的做用:javascript

  1)正则表达式能够对一个输入的字符串进行测试,查看该输入字符串是否符合要求的模式,好比电话或者邮箱。java

  2)替换文本,能够在文档中使用一个正则表达式来表示特定的文字,而后用对象将其删除或者替换别的文字正则表达式

  3)匹配字符串中的子字符串,而后及逆行操做。数组

2.建立正则表达式的语法测试

  1)spa

<script type="text/javascript">
       var str= "aaabbbccc";
       var reg = new RegExp(); //RegExp和Array同样是一个对象,这样没有任何效果,须要将正则表达式做为参数传递进去
       reg = new RegExp("a","ig");//表示查找a,i表示不区分大小写,g表示全文查找
  </script>

  2)做用等同于上面3d

reg = /"a"/ig;

3.正则表达式的属性和对象code

  1).test返回一个布尔类型的值,检查所输入的字符串是否存在,存在返回true,不存在返回false对象

1             var input = prompt("输入一个六位数的密码")
2             var reg = /^\d{6}&/ig;
3             var bool = reg.test(input);
4             console.log(bool);                

  2).execblog

    提取指定字符串中的符合要求的子串(或者匹配模式),返回一个数组存放匹配结果;若是没有,则返回null。

    exec能够说是test的升级版本,由于它不只能够检测,并且检测到了能够直接提取结果。

  3)match,找到一个或多个正则表达式的匹配。

  4)replace,替换与正则表达式匹配的子串。str = str.replace(/正则表达式/ig,"替换的值"),若是替换的值式空,就达到删除的效果。

  5)search,检索与正则表达式相匹配的值。返回下标,找不到就返回-1

4.正则表达式预约义类

  . 查找单个字符,除了换行和行结束符

  \d 匹配一个数字类型

  \w 匹配一个字母数字下划线

  \W 查找非单词字符

  \D 匹配一个非数字

  \s 匹配一个空格

  \S 查找非空白字符

  \b 匹配单词边界 

  \B 匹配非单词边界

5.预约义字符

  \n      换行符 
  \r      回车符 
  \t      制表符 
  \f      换页符(Tab) 
  \b      退格符(BackSpace) 
  \v      垂直制表符 
  \0      空字符("") 

6.量词(理解)

  *   匹配前面的子表达式零次或屡次。例如,zo* 能匹配 "z" 以及 "zoo"。 * 等价于{0,}。

  +   匹配前面的子表达式一次或屡次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,},至少一次。

  ?   匹配前面的子表达式零次或一次。例如,"do(es)?" 能够匹配 "do" 或 "does" 中的"do" 。? 等价于 {0,1},最多一次。 

  {min,max} 规定最少出现次数,和最多出现次数(能够只写一个)

  ^ 用来匹配字符串开头

  $ 用来匹配字符串结尾

 7.属性

  正则表达式是严格区分大小写的

  i 加上去后不区分大小写

  g 全局匹配  找到了一个之后仍是会继续接着找

  m  多行匹配

  lastIndex 为一个整数  标示开始下一次匹配的字符位置。也叫做游标,能够获取赋值

  source  正则表达式的源文本

8.方括号[]表示匹配一个字符

  [abcd] 表示匹配任意一个字符

  [a-z] 匹配a到z的任意一个字符

  [A-Z] 匹配A到Z的任意一个字符

  [0-9] 匹配0到9的任意一个字符

  [^] 表示取反

 

应用实例:

1.写一个function,清楚字符串先后的空格

var hello  ="   hell o   ";
        function reg(str){                
            str = str.replace(/(^\s*)|(\s*)$/g,"");//用正则表达式匹配到开头的空格或者结尾的空格,
         而后以“”空字符串代替
//其中^\s是以空格开头,*是不限制次数, //\s* $是匹配不限制次数的以结尾的空格 console.log(str); } reg(hello);

2.试用正则表达式,验证邮箱格式

function email(email){
        var reg = /^\w+@\w+(\.\w{2,3}){1,2}$/g;
        console.log(reg.test(email_value));
    }
    var email_value = "1231231313@qq.com";
    email(email_value);
相关文章
相关标签/搜索