JS之正则表达式学习

2/22/2017来源:ASP.NET技巧人气:2830

正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为”元字符”),模式描述在搜索文本时要匹配的一个或多个字符串,RegExp对象表示正则表达式,它是对字符串执行模式匹配的强大工具,正则表达式是一种查找以及字符串替换操作

创建正则表达式:

var re = new RegExp();//RegExp是一个对象,和Aarray一样 //但这样没有任何效果,需要将正则表达式的内容作为字符串传递进去 var re =new RegExp("a");//最简单的正则表达式,将匹配字母a var re=new RegExp("a","i");//第二个参数,表示匹配时不分大小写 var re = new RegExp("a","gi");//匹配所有的a或A //正则表达式还有另一种正则表达式字面量的声明方式: var re = /a/gi;

RegExp构造函数第一个参数为正则表达式的文本内容,而第一个参数则为可选项标志.标志可以组合使用

•g (全文查找) •i (忽略大小写) •m (多行查找)

举例的基本使用:

//test方法,测试字符串,符合模式时返回true,否则返回false: var re = /he/;//最简单的正则表达式,将匹配he这个单词 var str = "he"; alert(re.test(str));//true str="HE"; re = /he/i;//不区分大小写 alert(re.test(str));//true str = "Certainly!He loves her!"; alert(re.test(str));//true,只要包含he(HE)就符合,如果要只是he或HE,不能有其它字符,则可使用^和$ re = /^he/i;//脱字符(^)代表字符开始位置 alert(re.test(str));//false,因为he不在str最开始 str = "He is a good boy!"; alert(re.test(str));//true,He是字符开始位置,还需要使用$ re = /^he$/i;//$表示字符结束位置 alert(re.test(str));//false str = "He"; alert(re.test(str));//true re = /\s/;// \s匹配任何空白字符,包括空格、制表符、换页符等等 str= "user Name";//用户名包含空格 alert(re.test(str));//true str = "user Name";//用户名包含制表符 alert(re.test(str));//true re=/^[a-z]/i;//[]匹配指定范围内的任意字符,这里将匹配英文字母,不区分大小写 str="variableName";//变量名必须以字母开头 alert(re.test(str));//true str="123abc"; alert(re.test(str));//false ........................................

推荐参考博客:

js正则表达式学习和总结:http://blog.csdn.net/liujie19901217/article/details/51219672

JS正则表达式大全(整理详细且实用):http://www.jb51.net/article/43190.htm

js的正则表达式学习笔记:http://www.cnblogs.com/zxpp/p/5351898.html

精通 JS正则表达式:http://www.cnblogs.com/aaronjs/archive/2012/06/30/2570970.html

一些特殊的使用:

var reg = /^[x00-x7f]+$/; //\xnn:匹配ASCII代码中十六进制代码为nn的字符,[x00-x7f]:匹配ASCII值从0-127的字符,0-127表示单字节字符,也就是:数字,英文字符,半角符号,以及某些控制字符