正则表达式是一种实现字符串匹配的方法(常简称为regex或regexp),尤其常用于验证表单数据。
实例化一个正则表达式有两种方法。第一种是通过正则表达式类:
var re = new RegExp('regex', 'ig');
构造函数有两个,第一个是要匹配的正则表达式字符串;第二个是设置匹配方式的标志,共有以下三种:
i ,忽略大小写
g,全局匹配
m,匹配多行
第二种是通过字面量的形式:
var re = /regex/ig;
正则表达式用在字符串上,其对象有两个主要方法:exec和test。前者在字符串中搜索,并把匹配结果用一个数组返回;后者找到匹配时返回true,否则返回false。
String对象内建的match,search和replace方法都以正则表达式作为参数,mathc与exec相似,search返回匹配项在字符串中的位置索引,如果没有则返回-1;replace进行字符串替换,例如:
var dt = '12-01-2007';
dt.replace(/^(\d{2})-(\d{2})-(\d{4})$/, '$3$2$1'); //返回20070112
常用正则表达式符号:\w = [a-zA-Z0-9_] \W正好相反; \d 匹配数字; . 匹配除newline字符以外的任意字符;^从字符串第一个字符开始;$匹配最后一个字符;*前边的内容可以连续重复使用任意次以使整个表达式得到匹配;.*连在一起就意味着任意数量的不包含换行的字符;+表示字符出现1次或以上;圆括号()可记住找到的匹配项,用$可以引用对应的匹配项。