asp正则表达式大全

原创 2007年09月27日 10:26:00
正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。本贴随时会更新。 

匹配中文字符的正则表达式: [/u4e00-/u9fa5] 

匹配双字节字符(包括汉字在内):[^/x00-/xff] 

应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 

String.prototype.len=function(){return this.replace([^/x00-/xff]/g,"aa").length;} 

匹配空行的正则表达式:/n[/s| ]*/r 

匹配HTML标记的正则表达式:/<(.*)>.*<///1>|<(.*) //>/ 

匹配首尾空格的正则表达式:(^/s*)|(/s*$) 

应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下: 

String.prototype.trim = function() 

return this.replace(/(^/s*)|(/s*$)/g, ""); 


利用正则表达式分解和转换IP地址: 

下面是利用正则表达式匹配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("Not a valid IP address!") 



不过上面的程序如果不用正则表达式,而直接用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)) 

匹配Email地址的正则表达式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)* 

匹配网址URL的正则表达式:http://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)? 

利用正则表达式去除字串中重复的字符的算法程序:[注:此程序不正确,原因见本贴回复] 

var s="abacabefgeeii" 
var s1=s.replace(/(.).*/1/g,"$1") 
var re=new RegExp("["+s1+"]","g") 
var s2=s.replace(re,"") 
alert(s1+s2) //结果为:abcefgi 

我原来在CSDN上发贴寻求一个表达式来实现去除重复字符的方法,最终没有找到,这是我能想到的最简单的实现方法。思路是使用后向引用取出包括重复的字符,再以重复的字符建立第二个表达式,取到不重复的字符,两者串连。这个方法对于字符顺序有要求的字符串可能不适用。 

得用正则表达式从URL地址中提取文件名的javascript程序,如下结果为page1 

s="http://www.9499.net/page1.htm" 
s=s.replace(/(.*//){0,}([^/.]+).*/ig,"$2") 
alert(s) 

利用正则表达式限制网页表单里的文本框输入内容: 

用正则表达式限制只能输入中文: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,''))" 





正则表达式,相关链接 
http://blog.csdn.net/laily/category/19548.ASPx 
http://blog.csdn.net/laily/archive/2004/06/30/30525.ASPx 微软的正则表达式教程(五):选择/编组和后向引用 

http://blog.csdn.net/laily/archive/2004/06/30/30522.ASPx 微软的正则表达式教程(四):限定符和定位符 

http://blog.csdn.net/laily/archive/2004/06/30/30517.ASPx 微软的正则表达式教程(三):字符匹配 

http://blog.csdn.net/laily/archive/2004/06/30/30514.ASPx 微软的正则表达式教程(二):正则表达式语法和优先权顺序 

http://blog.csdn.net/laily/archive/2004/06/30/30511.ASPx 微软的正则表达式教程(一):正则表达式简介 

http://blog.csdn.net/laily/archive/2004/06/30/30360.ASPx 小程序大作为:高级查找/替换、正则表达式练习器、javascript脚本程序调试器 

http://blog.csdn.net/laily/archive/2004/06/24/25872.ASPx 经典正则表达式 

正则表达式,正规表达式,正则表达式匹配,正则表达式语法,模式匹配,正规表达式匹配 javascript正则表达式 ASP正则表达式 ASP.NET正则表达式 C#正则表达式 JSP正则表达式 PHP正则表达式 VB.NET正则表达式 VBSCript正则表达式编程 delphi正则表达式 jscript 


正则表达式 regular expression 
正则表达式 RegExp 
模式 pattern 
匹配 Match 
.NET命名空间: System.Text.RegularExpression 




补充: 
^/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 


利用正则表达式去除字串中重复的字符的算法程序: 

var s="abacabefgeeii" 
var s1=s.replace(/(.).*/1/g,"$1") 
var re=new RegExp("["+s1+"]","g") 
var s2=s.replace(re,"") 
alert(s1+s2) //结果为:abcefgi 
=============================== 
如果var s = "abacabefggeeii" 
结果就不对了,结果为:abeicfgg 
正则表达式的能力有限 

RE: totoro 
谢谢你的指点,这个javascript正则表达式程序算法确实有问题,我会试着找更好的办法!!! 

1.确认有效电子邮件格式 
下面的代码示例使用静态 Regex.IsMatch 方法验证一个字符串是否为有效电子邮件格式。如果字符串包含一个有效的电子邮件地址,则 IsValidEmail 方法返回 true,否则返回 false,但不采取其他任何操作。您可以使用 IsValidEmail,在应用程序将地址存储在数据库中或显示在 ASP.NET 页中之前,筛选出包含无效字符的电子邮件地址。 

[Visual Basic] 
Function IsValidEmail(strIn As String) As Boolean 
' Return true if strIn is in valid e-mail format. 
Return Regex.IsMatch(strIn, ("^([/w-/.]+)@((/[[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}/.)|(([/w-]+/.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(/]?)$") 
End Function 
[C#] 
bool IsValidEmail(string strIn) 

// Return true if strIn is in valid e-mail format. 
return Regex.IsMatch(strIn, @"^([/w-/.]+)@((/[[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}/.)|(([/w-]+/.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(/]?)$"); 



2.清理输入字符串 
下面的代码示例使用静态 Regex.Replace 方法从字符串中抽出无效字符。您可以使用这里定义的 CleanInput 方法,清除掉在接受用户输入的窗体的文本字段中输入的可能有害的字符。CleanInput 在清除掉除 @、-(连字符)和 .(句点)以外的所有非字母数字字符后返回一个字符串。 

[Visual Basic] 
Function CleanInput(strIn As String) As String  

ASP正则表达式详解 (一)

  本文全面的详细的介绍了ASP正则表达式的规范,以及如何建立和使用的注意事项。   什么是正则表达式   如果原来没有使用过正则...
  • tankejin
  • tankejin
  • 2007年02月19日 23:37
  • 721

ASP中的正则表达式

正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。 匹配中文字符的正则表达式: [/u4e00-/u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表...
  • rxw
  • rxw
  • 2007年07月26日 18:14
  • 1582

正则表达式在asp里的简单应用,验证手机号码

正则表达式在asp里的简单应用验证手机号码function IsValidMobileNo(MobileNo)    dim regEx    set regEx = New RegExp    re...
  • feng2112
  • feng2112
  • 2007年09月27日 11:34
  • 4142

asp RegExp对象正则表达式功能用法

 RegExp对象的用法:Function RegExpTest(patrn, strng) Dim regEx, Match, Matches  建立变量。 Set regEx = New RegE...
  • feng2375
  • feng2375
  • 2007年09月07日 09:55
  • 529

ASP 正则表达式匹配字符串提取

ASP 正则表达式,网上搜到的文章都是转载的同一份,且只说明了替换,没有说明怎么提取需要的字符串,这里给出一个例子. 起因是一个CSDN网友问起怎么提取meta的字符集,自己便琢磨了一下. 几个要...
  • hongweigg
  • hongweigg
  • 2011年08月23日 12:34
  • 4349

asp正则表达式大全

正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。本贴随时会更新。 匹配中文字符的正则表达式: [/u4e00...
  • szsbell
  • szsbell
  • 2007年09月27日 10:26
  • 390

ASP中正则表达式的应用

一、正则表达式概述   如果原来没有使用过正则表达式,那么可能对这个术语和概念会不太熟悉。不过,它们并不是您想象的那么新奇。   请回想一下在硬盘上是如何查找文件的。您肯定会使用 ? 和 * 字符来帮...
  • lonz
  • lonz
  • 2004年08月07日 10:35
  • 470

asp常用正则表达式大全

收集一些asp常用的正则表达式。正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。本贴随时会更新。匹配中文字符...
  • suleil1
  • suleil1
  • 2015年10月28日 16:48
  • 83

asp (vbscript)中用正则表达式替换字符串

str="010-65321478 13116782417"dim regExSet regEx=New RegExpregEx.Pattern="/d{11}"regEx.Global=true 全...
  • jyh_jack
  • jyh_jack
  • 2008年01月15日 16:48
  • 1574

ASP正则表达式详解 (二)

  建立正则表达式   构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与操作符将小的表达式结合在一起来创建更...
  • tankejin
  • tankejin
  • 2007年02月19日 23:40
  • 611
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:asp正则表达式大全
举报原因:
原因补充:

(最多只允许输入30个字)