JavaScript 正则表达式的应用实例

都是自己实例记录,不断更新中。。。。

 

1、字符串找出所有匹配的邮箱并替换

<html>
<body>
    <script type="text/javascript">
        var str='sdjj <p>31@qq.com</p> sassl  <span>kskj@163.com</span> bbAaa@dd.com       abb@dd.com';
        var result=str.match(/[a-zA-Z0-9._%+-]+@(?!.*\.\..*)[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}/gi); 
        console.log(result);

        result=str.replace(/[\S]+@(?!.*\.\..*)[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}/gi,"<a href='http://www.baidu.com'>百度搜索</a>"); 
        console.log(result);
        document.write(result)
    </script>
</body>
</html>

 2、匹配空格

str=str.replace(/^\s+|\s+$/g,"");  //去左右空格 
str=str.replace(/^\s*/, "");       //去左空格 
str=str.replace(/\s*$/, "");       //去右空格 
str=str.replace(/\s+/g, "");       //去所有空格 

3、匹配所有英文标点

var str='jfkldsjalk,.23@#!$$k~!  @#$%^&*()(_+-=|\{}[]\';:,./<>??gg  g~```gf;0,0。0“0”0"0"0';
str=str.replace(/[\ |\~|\`|\!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\-|\_|\+|\=|\||\\|\[|\]|\{|\}|\;|\:|\"|\'|\,|\<|\.|\>|\/|\?]/g,""); 
console.log(str);

4、匹配所有中文标点

var str='jfkldsjalk,.23@#!$$k~!  @#$%^&*()(_+-=|\{}[]\';:,./<>??gg  g~```gf;0,0。0“0”0"0"0';
str=str.replace(/·|\!|¥|…|(|)|—|【|】|、|;|:|“|”|‘|’|,|。|《|》|?|、|→|←/g,""); 
console.log(str);

5、C# 正则表达式匹配所有键盘标点(中英文、空白字符) 

 private string GuoLvString(string str)
 {
   //备注:英文减号-在中间的话需要加\-,在末尾的话则不需要,个人思考可能是在中间会被解释为像[a-z]这样的意义;
string guolvStr = @"test|签到|[0-9\s]|[·!¥…()—【】、;:“”‘’,。《》?→←]|[~`!@#\$%\^&\*\(\)\-_\+=\|\\\[\]\{\};:""\',<\.>\/\?]"; Regex myRegex = new Regex(guolvStr, RegexOptions.IgnoreCase); return myRegex.Replace(str, ""); }

 6、javascript 日期正则表达式

貌似必须格式为 YYYY-MM-dd
/^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/

 

说明正则表达式
网址(URL) [a-zA-z]+://[^\s]*
IP地址(IP Address) ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
电子邮件(Email) \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
QQ号码 [1-9]\d{4,}
HTML标记(包含内容或自闭合) <(.*)(.*)>.*<\/\1>|<(.*) \/>
密码(由数字/大写字母/小写字母/标点符号组成,四种都必有,8位以上) (?=^.{8,})(?=.\d)(?=.\W+)(?=.[AZ])(?=.[az])(?!.\n).
日期(年-月-日) (\d{4}|\d{2})-((1[0-2])|(0?[1-9]))-(([12][0-9])|(3[01])|(0?[1-9]))
日期(月/日/年) ((1[0-2])|(0?[1-9]))/(([12][0-9])|(3[01])|(0?[1-9]))/(\d{4}|\d{2})
时间(小时:分钟, 24小时制) ((1|0?)[0-9]|2[0-3]):([0-5][0-9])
汉字(字符) [\u4e00-\u9fa5]
中文及全角标点符号(字符) [\u3000-\u301e\ufe10-\ufe19\ufe30-\ufe44\ufe50-\ufe6b\uff01-\uffee]
中国大陆固定电话号码 (\d{4}-|\d{3}-)?(\d{8}|\d{7})
中国大陆手机号码 1\d{10}
中国大陆邮政编码 [1-9]\d{5}
中国大陆身份证号(15位或18位) \d{15}(\d\d[0-9xX])?
非负整数(正整数或零) \d+
正整数 [0-9]*[1-9][0-9]*
负整数 -[0-9]*[1-9][0-9]*
整数 -?\d+
小数 (-?\d+)(\.\d+)?
不包含abc的单词 \b((?!abc)\w)+\b

 

 

匹配字符

字符等同于描述
. [^\n\r] 除了换行和回车之外的任意字符
\d [0-9] 数字字符
\D [^0-9] 非数字字符
\s [ \t\n\x0B\f\r] 空白字符
\S [^ \t\n\x0B\f\r] 非空白字符
\w [a-zA-Z_0-9] 单词字符(所有的字母)
\W [^a-zA-Z_0-9] 非单词字符

 

 

 

 

 

 

  

 

匹配特殊预定义字符

字符正则描述
\t /\t/ 制表符
\n /\n/ 制表符
\r /\r/ 回车符
\f /\f/ 换页符
\a /\a/ alert字符
\e /\e/ escape字符
\cX /\cX/ 与X相对应的控制字符
\b /\b/ 与回退字符
\v /\v/ 垂直制表符
\0 /\0/ 空字符

 

 






 

posted @ 2016-09-05 10:53  一 定 会 去 旅 行  阅读(633)  评论(2编辑  收藏  举报