leo列

导航

正则表达式----笔记

1.操作字符串的四种方法    

  search                          返回要查找字符串第一次位置,没有找到的话返回-1

  substring                      截取字符串 substring(1,4)从字符串的第一个位置开始,到第四个位置结束,包含第一个位置不包含第四个位置

  charAt                          选取在特定位置上的一个字符

  split                             把字符串分成几部分,组成一个数组

 

2.正则表达式,,,,,,台湾翻译成 规则表达式

  正则表达式是操作字符串的,把规则用计算机语言来描述

 

3.创建正则表达式的2中方式

   var  re   =   new RegExp('a')

   var  re   =   /a/;

 

4. var re = /a/gi;            g代表字符串的全局,i代表不区分大小写

 

5.转义字符

   .                       代表任意字符

   \d         digital        [0-9]  数字

   \D                   [^0-9] 非数字

   \w        word         [a-z0-9_]   数字字母下划线

   \W                       [^a-z0-9_]  非数字字母下划线

   \s         space        空白字符

  \S                         非空白字符

  \b                          单词边界

 

6.量词

  {n,m}                   最少n次,最多m次

  {n,}                     最少n次,最多不限

   {,m}                   最少不限,最多m次

   {n}                      正好n次

    +         {1,}         最少1次,最多不限

    *         {0,}         任意次

    ?          {0,1}       0次或者1次

 

7.

   str.search(re);                  在str字符串中找re匹配的第一个位置,没有找到返回0

   re.test(str);                     在str字符串中是否有匹配re规则的,存在返回true,否则返回false;

   str.match(re);                  在str中找到匹配re规则的字符串并放回

   str.replace(re,"tt");            在str中找到匹配re规则的字符串并用tt来替换

  

8.[abc]意思是或者a或者b或者c   与 a|b|c同一个意思

 

9.检测邮箱   

       leo@126.com

      数字字母或者下划线  @  数字或者字母   .   字母(2到4位)

      var re=/\w+@[a-z0-9]+\.[a-z]{2,4}/gi;

      这样检测的话 re.test(str);

      如果str="陈列leo@126.com";或者"leo@126.comer"

      这样返回的也是true;  原因是只是检测出来包含这个规则的str,要考虑进去行首与行尾

      var re = /^\w+@[a-z0-9]+\.[a-z]{2,4}$/gi;

     这样就不会出错了

10.检测中文     [\u4e00-\u9fa5]

posted on 2012-12-12 14:08  leo列  阅读(177)  评论(0编辑  收藏  举报