常用正则
/<[^<]*>/gi //去掉所有HTML标签
/<(?!\/?br\/?.+?>|\/?img.+?>)[^<>]*>/gi //去掉HTML标签,切保留img br标签
/[\S]+/ //必填项不能为空
/^1\d{10}$/ //手机号码
/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/ //邮箱
/(^#)|(^http(s*):\/\/[^\s]+\.[^\s]+)/ // url
/(^\d{15}$)|(^\d{17}(x|X|\d)$)/ //身份证号
特殊字符转义
可用于页面输入特殊字符时使用 不过一般都没用到
str.replace(/[<>&"\'\(\)\\\/;\]\[]/g,function(c){return {'<':'<','>':'>','&':'&','"':'"','\'':''','\(':'(','\)':')','\\':' \','\/':'/',';':';','\]':' ]','\[':' ['}[c];});
字符串是否包含特殊字符
var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\]<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?%+_]");
pattern.test(str)
判断最后几位替换成同等几位
"5AAAAA6BCAAA".replace(/(A(?=A+$)|A(?=$))/g,"B")
输出: 5AAAAA6BCBBB
过滤字符串中的[哈哈哈]表情符号
emotion_data是表情包的json格式
var reg =/\[[^\[\]]+\]/gi;
var strs = str.replace(reg,function(a,b){
var flag = true;
for( var i=0;i<emotion_data.data.length;i++ ){
var stra = emotion_data.data[i].phrase;
if( stra==a ){
var rep = '<img class="ic_data" src="assets/emotion/'+emotion_data.data[i].url+'" alt="'+a+'" />';
flag = false;
return rep;
}
}
if( flag ){
return a;
}
});
var emotion_data = {
"code": 1,
"data": [{
"phrase": "[马到成功]",
"type": "face",
"url": "d_madaochenggong.png",
"hot": false,
"common": true,
"category": "",
"icon": "d_madaochenggong.png",
"value": "[马到成功]",
"picid": ""
},{
"phrase": "[马上有对象]",
"type": "face",
"url": "d_duixiang.png",
"hot": false,
"common": true,
"category": "",
"icon": "d_duixiang.png",
"value": "[马上有对象]",
"picid": ""
}]
};
网友评论