JavaScript 正则表达式的应用实例


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

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

<html>
<body>
    <script type="text/javascript">
        var str='sdjj 

31@qq.com

sassl kskj@163.com 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,"百度搜索"); 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)$/

匹配字符

字符等同于描述
. [^\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/ 空字符