常用正则表达式(轉自http://blog.csdn.net/21aspnet/archive/2007/03/21/1535747.aspx)
来源:互联网 发布:teleport ultra mac版 编辑:程序博客网 时间:2024/06/06 11:36
常用正则表达式新一篇: 解读C#正则表达式"^/d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-/d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$" //负整数 "^-?/d+$" //整数 "^/d+(/./d+)?$" //非负浮点数(正浮点数 + 0) "^(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数 "^((-/d+(/./d+)?)|(0+(/.0+)?))$" //非正浮点数(负浮点数 + 0) "^(-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点数 "^(-?/d+)(/./d+)?$" //浮点数 "^[A-Za-z]+$" //由26个英文字母组成的字符串 "^[A-Z]+$" //由26个英文字母的大写组成的字符串 "^[a-z]+$" //由26个英文字母的小写组成的字符串 "^[A-Za-z0-9]+$" //由数字和26个英文字母组成的字符串 "^/w+$" //由数字、26个英文字母或者下划线组成的字符串 "^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$" //email地址 "^[a-zA-z]+://(/w+(-/w+)*)(/.(/w+(-/w+)*))*(/?/S*)?$" //url /^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 年-月-日 /^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/ // 月/日/年 "^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$" //Emil "(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?" //电话号码 "^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$" //IP地址 YYYY-MM-DD基本上把闰年和2月等的情况都考虑进去了 ^((((1[6-9]|[2-9]/d)/d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]/d|3[01]))|(((1[6-9]|[2-9]/d)/d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]/d|30))|(((1[6-9]|[2-9]/d)/d{2})-0?2-(0?[1-9]|1/d|2[0-8]))|(((1[6-9]|[2-9]/d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$ 图片 src[^>]*[^/].(?:jpg|bmp|gif)(?:/"|/') 中文 ^([/u4e00-/u9fa5]+|[a-zA-Z0-9]+)$ 网址 "/<a.+?href=['""](?!http/:////)(?!mailto/:)(?>foundAnchor>[^'"">]+?)[^>]*?/>" 匹配中文字符的正则表达式: [/u4e00-/u9fa5] 匹配双字节字符(包括汉字在内):[^/x00-/xff] 匹配空行的正则表达式:/n[/s| ]*/r 匹配HTML标记的正则表达式:/<(.*)>.*<///1>|<(.*) //>/ 匹配首尾空格的正则表达式:(^/s*)|(/s*$)(像vbscript那样的trim函数) 匹配Email地址的正则表达式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)* 匹配网址URL的正则表达式:http://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)? --------------------------------------------------------------------------- 以下是例子: 利用正则表达式限制网页表单里的文本框输入内容: 用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/u4E00-/u9FA5]/g,''))" 1.用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^/uFF00-/uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/uFF00-/uFFFF]/g,''))" 2.用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^/d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))" 3.用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[/W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))" 4.计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) String.prototype.len=function(){return this.replace([^/x00-/xff]/g,"aa").length;} 5.javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下: String.prototype.trim = function() { return this.replace(/(^/s*)|(/s*$)/g, ""); } 利用正则表达式分解和转换IP地址: 6.下面是利用正则表达式匹配IP地址,并将IP地址转换成对应数值的Javascript程序: function IP2V(ip) { re=/(/d+)/.(/d+)/.(/d+)/.(/d+)/g //匹配IP地址的正则表达式 if(re.test(ip)) { return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1 } else { throw new Error("不是一个正确的IP地址!") } } 不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下: var ip="10.100.20.168" ip=ip.split(".") alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1)) (?<=>)[^>]*(?=<)
- 常用正则表达式(轉自http://blog.csdn.net/21aspnet/archive/2007/03/21/1535747.aspx)
- http://blog.csdn.net/21aspnet/archive/2007/04/11/1559848.aspx
- http://blog.csdn.net/21aspnet/archive/2007/06/27/1667862.aspx
- 快捷键 ctrl+ shift+ visualstudio.net2005工具 清清月儿 http://blog.csdn.net/21aspnet/archive/2007/03/21/1535759.aspx
- http://blog.csdn.net/21aspnet/archive/2008/04/14/2292001.aspx
- ASP.NET2.0 遍历文件夹下所有图片http://blog.csdn.net/21aspnet/archive/2007/04/04/1551222.aspx
- 正则表达式(http://blog.csdn.net/cping1982/archive/2007/11/24/1900808.aspx)
- 转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx
- java关键字Transient 转自:http://blog.csdn.net/flynetcn/archive/2008/03/03/2142020.aspx
- java NIO引用自http://blog.csdn.net/shidcai/archive/2006/03/19/629261.aspx
- Qte与Qt(转自http://blog.csdn.net/kevin881/archive/2005/01/03/238772.aspx)
- 集合的clone[转自http://blog.csdn.net/dr2tr/archive/2006/03/07/617474.aspx]
- 转自:http://blog.csdn.net/jingang123gz/archive/2008/03/02/2141075.aspx
- ASP.NET 常用技巧学习 (http://blog.csdn.net/JavaProgramers/archive/2007/04/13/1563441.aspx)
- http://blog.csdn.net/21aspnet/
- http://blog.csdn.net/21aspnet/
- 常用:http://blog.csdn.net/rickjelly2004/archive/2004/11/03/165514.aspx
- [转] .NET WINFORM学习笔记 [http://blog.csdn.net/yongping8204/archive/2006/05/21/747579.aspx]
- 点击邮箱地址启动outlook
- Transfer-Encoding: chunked
- .net 万花筒
- 春晓(壹拾陆)
- Update语句的完成过程
- 常用正则表达式(轉自http://blog.csdn.net/21aspnet/archive/2007/03/21/1535747.aspx)
- mysql-front 的注册key
- PHP 截取字符串专题
- C#中的委托和事件
- 日常用语-享受余暇时间
- 请高手帮忙!
- LabelView/Codesoft 條碼打印范例 - 玄铁剑 - IT博客网
- Oracle中,一个Delete操作的流程
- 提示:ActiveX 部件不能创建对象: Scripting.FileSystemObject