甲午日生于戌月的名人:正则表达式 asp

来源:百度文库 编辑:高考问答 时间:2024/04/27 17:45:26
判断Email地址的正确性
<%
Function isemail(strng)
isemail = false
Dim regEx, Match
Set regEx = New RegExp
regEx.Pattern = "^w+((-w+)|(.w+))*@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+)*.[A-Za-z0-9]+$"
regEx.IgnoreCase = True
Set Match = regEx.Execute(strng)
if match.count then isemail= true
End Function
%>
哪位仁兄给解释一下regEx.Pattern = "^w+((-w+)|(.w+))*@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+)*.[A-Za-z0-9]+$"这个模式是怎么写出来的

^w+((-w+)|(.w+))*@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+)*.[A-Za-z0-9]+$

其中^表示开头,同理,$表示结束
以^w开头
(-w+)以匹配-后接一个或多个w
(.w+)匹配.后接一个或多个w
((-w+)|(.w+))匹配(-w+)或(.w+)的一个
(...)*匹配N个括号里的N>=0
@匹配一个@
[A-Za-z0-9]+匹配A-Z a-z 0-9中的一个或多个字符(根据ASCII表顺序)
(.|-)匹配.或-

差不多就是样了,如果说这个是匹配一个邮箱的话,写得不好!只是匹配像
wwww@....
wwww-wwww@....
这样的.
如果把w改成\w的话会很不错!
\w是一种转义字符,匹配全部的数字和字母,相当于[A-Za-z0-9]

正 则 表 达 式 调 试 器 1.1V
里边有常用范式,可再线调试.
http://www.ar114.com.cn/cai_tools/regexp.html