var re = /ad|adad|sdad/g; 这里的|表示'或'的意思
var str = '2013-6-7';var re = /(\d+)(-)/g; 这里的()是匹配子项的作用 : 小括号 () (还有另外一个意思,分组操作)
var re = /a[a-z0-9A-Z]c/; 字符类 : 一组相似的元素 [] 中括号的整体代表一个字符 注意:排除 : ^ 如果^写在[]里面的话,就代表排除的意思
\b : 独立的部分 ( 起始,结束,空格 )
\B : 非独立的部分
作用可以看下面改进过后的getByClass方法
function getByClass(oParent,sClass){
var arr = [];
var aEle = oParent.getElementsByTagName('*');
//var re = /sClass/; //当正则需要传参的时候,一定要用全称的写法
var re = new RegExp('\\b'+sClass+'\\b');
for(var i=0;i<aEle.length;i++){
if( re.test(aEle[i].className) ){
arr.push( aEle[i] );
}
}
return arr;
}
重复子项:
var re = /\w\w/; c9
var re = /(\w)\1/; cc 99
\1 : 重复的第一个子项
\2 : 重复的第二个子项
量词:
{4,7} : 最少出现4次,最多出现7次
{4,} : 最少出现4次
{4} : 正好出现4次
+ : {1,} //\d{1,}
? : {0,1} : 出现0次或者1次
开始和结尾:
^ 开始 $ 结束
* : {0,} : 至少出现0次*
高级表单校验:
匹配中文:[\u4e00-\u9fa5]
行首行尾空格:^\s*|\s*$
Email:^\w+@[a-z0-9]+(\.[a-z]+){1,3}$
网址:[a-zA-z]+://[^\s]*
QQ号:[1-9][0-9]{4,9}
邮政编码:[1-9]\d{5}
身份证:[1-9]\d{14}|[1-9]\d{17}|[1-9]\d{16}x