常用的正则表达式

2016/10/27 10:12:15

Category 软件技术 Tag 正则表达式

匹配中文字符的正则表达式: [u4e00-u9fa5]
匹配双字节字符(包括汉字在内):[^x00-xff]
匹配空行的正则表达式: [s| ]*
匹配HTML标记的正则表达式:/<(.*)>.*</1>|<(.*) />/
匹配首尾空格的正则表达式:(^s*)|(s*$)
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
匹配网址URL的正则表达式:^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
匹配国内电话号码:(d{3}-|d{4}-)?(d{8}|d{7})?
匹配腾讯QQ号:^[1-9]*[1-9][0-9]*$

=========================================================
利用正则表达式限制网页表单里的文本框输入内容:
用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^u4E00-u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,''))"
用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^uFF00-uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,''))"
用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"
用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"


=========================================================
提取信息中的网络链接:
(h|H)(r|R)(e|E)(f|F)  *=  *('|")?(w|\|/|.)+('|"|  *|>)?  
提取信息中的邮件地址:
w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*  
提取信息中的图片链接:
(s|S)(r|R)(c|C)  *=  *('|")?(w|\|/|.)+('|"|  *|>)?
提取信息中的IP地址:  
(d+).(d+).(d+).(d+)    
提取信息中的中国手机号码:
(86)*0*13d{9}    
提取信息中的中国固定电话号码:
((d{3,4})|d{3,4}-|s)?d{8}    
提取信息中的中国电话号码(包括移动和固定电话):
((d{3,4})|d{3,4}-|s)?d{7,14}    
提取信息中的中国邮政编码:
[1-9]{1}(d+){5}    
提取信息中的中国身份证号码:
d{18}|d{15}    
提取信息中的整数:
d+    
提取信息中的浮点数(即小数):
(-?d*).?d+    
提取信息中的任何数字  :
(-?d*)(.d+)?  
提取信息中的中文字符串:
[u4e00-u9fa5]*    
提取信息中的双字节字符串  (汉字):
[^x00-xff]*  
提取信息中的英文字符串:
w*

=========================================================
利用正则表达式限制网页表单里的文本框输入内容:
用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^u4E00-u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,''))"
用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^uFF00-uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,''))"
用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"
用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"
=========================================================
提取信息中的网络链接:
(h|H)(r|R)(e|E)(f|F)  *=  *('|")?(w|\|/|.)+('|"|  *|>)?
提取信息中的邮件地址:
w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
提取信息中的图片链接:
(s|S)(r|R)(c|C)  *=  *('|")?(w|\|/|.)+('|"|  *|>)?
提取信息中的IP地址:  
(d+).(d+).(d+).(d+)
提取信息中的中国手机号码:
(86)*0*13d{9}
提取信息中的中国固定电话号码:
((d{3,4})|d{3,4}-|s)?d{8}
提取信息中的中国电话号码(包括移动和固定电话):
((d{3,4})|d{3,4}-|s)?d{7,14}
提取信息中的中国邮政编码:
[1-9]{1}(d+){5}
提取信息中的中国身份证号码:
d{18}|d{15}
提取信息中的整数:
d+
提取信息中的浮点数(即小数):
(-?d*).?d+
提取信息中的任何数字  :
(-?d*)(.d+)?
提取信息中的中文字符串:
[u4e00-u9fa5]*
提取信息中的双字节字符串  (汉字):
[^x00-xff]*
提取信息中的英文字符串:
w*