1 匹配中文:[\u4e00-\u9fa5]
2 行首行尾空格:^\s*|\s*$
3 Email:^\w+@[a-z0-9]+(\.[a-z]+){1,3}$
4 网址:[a-zA-z]+://[^\s]*
5 QQ号:[1-9][0-9]{4,9}
6 邮政编码:[1-9]\d{5}
7 身份证:[1-9]\d{14}|[1-9]\d{17}|[1-9]\d{16}x
8 单标签: /^<(\w+)\s*\/?>(?:<\/\1>|)/
9 获取页面参数
getUrlParams: function(key) {
var reg = new RegExp("(^|&)" + key + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return decodeURIComponent(r[2]);
return null;
}
正则创建方法:
var rep= /a/;
var rep= new RegExp('a');//如果正则传参,一定要用此方法,如获取网址参数; var rep= new RegExp('\\b'+sClass+'\\b',g);
正则方法:
test 调用 rep.test(str);
以下调用都是 str.xxxx(rep);
match 返回匹配数组,如果不匹配,返回NULL, 正则有G(全局)时,返回的是匹配数组,没G时,返回数组第一项是母表达式,第二项是子表达式,以此类推
search 寻找正则匹配字符的位置
replace 返回字符串 str.replace('a','b'),str.replace(reg,function(){}) 两种调用方式
转义符
\n 换行
\b 独立(包括空格,起始,结束)\B 非独立,大写表示非,下同
\d 数字 \D
\s 空格 \S
\w 字符([a-zA-Z0-9]加'_')
\.点号
. 任意字符
量词
{2,}2次以上
{2,5}2到5次
{2}2次
? 0或1次
* 0次以上
+ 1次以上
[]
字符类,相似的一类元素,[]表示一个字符 [abc] 表示匹配a或b或c [^b]不是b的一个字符
| 表示或 3|5
() 分组,子表达式 表示(\w)\1+ 表示重复字符串
查找出现最多的字符
var str = 'assssjdssskssalsssdkjsssdss';
var arr = str.split('');
str = arr.sort().join('');
//alert(str);
var value = '';
var index = 0;
var re = /(\w)\1+/g;
str.replace(re,function($0,$1){
//alert($0);
if(index<$0.length){
index = $0.length;
value = $1;
}
});
alert('最多的字符:'+value+',重复的次数:'+index);
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;
}
敏感词过滤
window.onload = function(){
var aT = document.getElementsByTagName('textarea');
var oInput = document.getElementById('input1');
var re = /菲称|中国船|监视之下/g;
oInput.onclick = function(){
//aT[1].value = aT[0].value.replace(re,'*');
aT[1].value = aT[0].value.replace(re,function(str){
//函数的第一个参数:就是匹配成功的字符
//alert( str );
var result = '';
for(var i=0;i<str.length;i++){
result += '*';
}
return result;
});
};
};
正则表达式学习
最新推荐文章于 2018-08-31 13:37:43 发布