都是自己实例记录,不断更新中。。。。
1、字符串找出所有匹配的邮箱并替换
都是自己实例记录,不断更新中。。。。
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+)(?=.∗[A−Z])(?=.∗[a−z])(?!.∗\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/ | 空字符 |