新手站长论坛

 找回密码
 注册会员

QQ登录

只需一步,快速开始

查看: 9073|回复: 67

Asp脚本语言VBScript正则表达式对象的使用方法

  [复制链接]
发表于 2011-6-17 11:49 | 显示全部楼层 |阅读模式
Asp脚本语言VBScript正则表达式对象的使用方法
Asp脚本语言VBScript的正则表达式对象,可以很方便的对各种数据进行合法性的校验,对于那些刚学asp的驴友来说,就这个问题一下子很难消化掉。要在做asp的日常训练过程中要不断的思考与应用,相信很快就能上手。
  下面,让我们就针对这个问题来了解一下VBScript的“正则表达式”对象,先来看一段程序:
Function CheckExp(patrn, strng)
Dim regEx, Match   ’ 建立变量。
Set regEx = New RegExp ’ 建立正则表达式。
regEx.Pattern = patrn ’ 设置模式。
regEx.IgnoreCase = true ’ 设置是否区分字符大小写。
regEx.Global = True ’ 设置全局可用性。
Matches = regEx.test(strng)     ’ 执行搜索。
CheckExp = matches
End Function
  在这段程序程序中,我们看到可以使用“New RegExp”来得到一个正则表达式对象,然后对这个对象进行正则匹配模板的赋值,也就是告诉正则表达式对象,你想要匹配一个什么样子的模板,然后使用方法Test来检测待处理的数据究竟和我们给出的模版是否相匹配,如果不匹配,那就表明待处理的数据不是合法的数据,从而也就实现了数据合法性的校验,我们可以看出,使用一个设计合理的匹配模板,我们可以轻松的校验一批格式类似的数据信息。
  当然,VBScript5.0中的“正则表达式”对象还有很多的其他的方法和属性,比如方法Replace(),利用他我们就可以很快的实现现在网上很时髦的UBB风格的论坛以及BBS,这不在我们讨论范围之内,以后再加以论述,我们现在就看看在数据校验方面正则表达式对象常用的方法和属性:
常用方法: Execute 方法
描述:对指定的字符串执行正则表达式搜索。
语法:object.Execute(string)  Execute 方法的语法包括以下几个部分:
object:必需的。总是一个 RegExp 对象的名称。
string:必需的。要在其上执行正则表达式的文本字符串。
说明:正则表达式搜索的设计模式是通过 RegExp 对象的 Pattern 来设置的。Execute 方法返回一个
Matches 集合,其中包含了在 string 中找到的每一个匹配的 Match 对象。如果未找到匹配,Execute 将返回空的 Matches 集合。
Test方法
描述:对指定的字符串执行一个正则表达式搜索,并返回一个 Boolean 值指示是否找到匹配的模式。
语法:object.Test(string)
Test 方法的语法包括以下几个部分:
object:必需的。总是一个 RegExp 对象的名称。
string:必需的。要执行正则表达式搜索的文本字符串。
说明:正则表达式搜索的实际模式是通过RegExp对象的Pattern属性来设置的。RegExp.Global属性对Test方法没有影响。如果找到了匹配的模式,Test方法返回True;否则返回False。
常用属性: Global属性
描述:设置或返回一个 Boolean 值,该值指明在整个搜索字符串时模式是全部匹配还是只匹配第一个。
语法:object.Global [= True / False ]
object 参数总是 RegExp 对象。如果搜索应用于整个字符串,Global 属性的值为 True,否则其值为 False。默认的设置为 True。
IgnoreCase属性
描述:设置或返回一个Boolean值,指明模式搜索是否区分大小写。
语法:object.IgnoreCase [= True / False ]
object 参数总是一个 RegExp 对象。如果搜索是区分大小写的,则 IgnoreCase 属性为 False;否则为 True。缺省值为 True。
Pattern属性
描述:设置或返回被搜索的正则表达式模式。 这是一个最重要的属性,我们主要是设置这个属性来实现数据校验的。
语法:object.Pattern [= "searchstring"]
Pattern 属性的语法包含以下几个部分:
object:必需的。总是一个 RegExp 对象变量。
searchstring:可选的。被搜索的正则字符串表达式。它可能包含设置部分表格中的各种正则表达式字符。
设置:在书写正则表达式的模式时使用了特殊的字符和序列。下表描述了可以使用的字符和序列,并给出了实例。
字符描述: \:将下一个字符标记为特殊字符或字面值。例如"n"与字符"n"匹配。"\n"与换行符匹配。序列"\\"与"\"匹配,"\("与"("匹配。
^ :匹配输入的开始位置。
$ :匹配输入的结尾。
* :匹配前一个字符零次或几次。例如,"zo*"可以匹配"z"、"zoo"。
+ :匹配前一个字符一次或多次。例如,"zo+"可以匹配"zoo",但不匹配"z"。
? :匹配前一个字符零次或一次。例如,"a?ve?"可以匹配"never"中的"ve"。
.:匹配换行符以外的任何字符。
(pattern) 与模式匹配并记住匹配。匹配的子字符串可以从作为结果的 Matches 集合中使用 Item [0]...[n]取得。如果要匹配括号字符(和 ),可使用"\(" 或 "\)"。
x/y:匹配 x 或 y。例如 "z/food" 可匹配 "z" 或 "food"。"(z/f)ood" 匹配 "zoo" 或 "food"。
{n}:n 为非负的整数。匹配恰好n次。例如,"o{2}" 不能与 "Bob 中的 "o" 匹配,但是可以与"foooood"中的前两个o匹配。
{n,} :n 为非负的整数。匹配至少n次。例如,"o{2,}"不匹配"Bob"中的"o",但是匹配"foooood"中所有的o。"o{1,}"等价于"o+"。"o{0,}"等价于"o*"。
{n,m} :m 和 n 为非负的整数。匹配至少 n 次,至多 m 次。例如,"o{1,3}" 匹配 "fooooood"中前三个o。"o{0,1}"等价于"o?"。
[xyz] :一个字符集。与括号中字符的其中之一匹配。例如,"[abc]" 匹配"plain"中的"a"。
[^xyz] :一个否定的字符集。匹配不在此括号中的任何字符。例如,"[^abc]" 可以匹配"plain"中的"p".
[a-z] :表示某个范围内的字符。与指定区间内的任何字符匹配。例如,"[a-z]"匹配"a"与"z"之间的任何一个小写字母字符。
[^m-z] :否定的字符区间。与不在指定区间内的字符匹配。例如,"[m-z]"与不在"m"到"z"之间的任何字符匹配。
\b :与单词的边界匹配,即单词与空格之间的位置。例如,"er\b" 与"never"中的"er"匹配,但是不匹配"verb"中的"er"。
\B :与非单词边界匹配。"ea*r\B"与"never early"中的"ear"匹配。
\d :与一个数字字符匹配。等价于[0-9]。
\D :与非数字的字符匹配。等价于[^0-9]。
\f :与分页符匹配。
\n :与换行符字符匹配。
\num :匹配 num个,其中 num 为一个正整数。引用回到记住的匹配。例如,"(.)\1"匹配两个连续的相同的字符。
\n:匹配 n,其中n 是一个八进制换码值。八进制换码值必须是 1, 2 或 3 个数字长。
\r :与回车字符匹配。
\s :与任何白字符匹配,包括空格、制表符、分页符等。等价于"[ \f\n\r\t\v]"。
\S :与任何非空白的字符匹配。等价于"[^ \f\n\r\t\v]"。
\t :与制表符匹配。
\v :与垂直制表符匹配。
\w :与任何单词字符匹配,包括下划线。等价于"[A-Za-z0-9_]"。
\W :与任何非单词字符匹配。等价于"[^A-Za-z0-9_]"。
例如,"\11" 和 "\011" 都与一个制表符匹配。"\0011"等价于"\001" 与 "1"。八进制换码值不得超过 256。否则,只有前两个字符被视为表达式的一部分。允许在正则表达式中使用ASCII码。
\xn:匹配n,其中n是一个十六进制的换码值。十六进制换码值必须恰好为两个数字长。例如,"\x41"匹配"A"。"\x041"等价于"\x04" 和 "1"。允许在正则表达式中使用 ASCII 码。
就说到这里吧,常用的方法与属于就以上介绍的了,上面的语法介绍已经非常详细,在此就不再重复,想要应用自如,需要在平时多加训练,相信你一定能成为asp高手。虽然asp在目前来说已经不是主流,但在中小弄企业中使用的还是很多的。
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-8-3 11:01 | 显示全部楼层
(*^__^*) 嘻嘻……
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-8-3 12:14 | 显示全部楼层
帮你顶,人还是厚道点好
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-8-16 20:34 | 显示全部楼层
(*^__^*) 嘻嘻……
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-8-26 18:31 | 显示全部楼层
只有顶起来才对得起楼主。
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-8-28 13:26 | 显示全部楼层
基本就没有看懂!
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-8-30 00:15 | 显示全部楼层
好帖还是要收藏,请继续
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-9-6 16:44 | 显示全部楼层
路过,看看!支持一下!
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-9-28 13:35 | 显示全部楼层
易商网络联盟,让天下没有难做的生意
比尔·盖茨说:二十一世纪,要么电子商务,要么无商可务!
马云说:不做电子商务,五年后你会后悔!
那么:很多网商已经赚钱了,你还在等什么?
朋友:
你想拥有属于自己的网络生意吗?
你想要做响自己品牌吗?
你想拥有一台24小时都给给你带来财富的机器吗?
如果上面的三个问题您都想,那么低投资高收入的机会您会错过吗?

易商网络创业联盟提供商城营销的全程技术与营销服务,从网店制作、装修、宣传推广、货源提供、后期技术维护,货物免费提供交易后再支付款给公司。让你无忧经营网店,无风险做生意。

只要会上网打字简单的上网知识,无需租用办公场所,不用雇佣办公人员只要有电脑和电话,在家即可操作赚钱。

适合人群:上班族,在校学生,家庭主妇,创业人士,电子商务人士 ,想发展网络营销的公司、厂家

联系人陶老师,电话13439893894,[qq=8]76994859[/qq]QQ:2316114577

您是想做个旁观者,等别人失败了嘲笑他,成功了羡慕他呢?还是拿出您的热情努力一把呢?





欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-9-28 23:39 | 显示全部楼层
来学习
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-9-30 13:30 | 显示全部楼层
真的牛,双手赞成,谢谢了
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-11-10 18:37 | 显示全部楼层
学习中! 不错
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-11-13 10:11 | 显示全部楼层
希望大家发表自己的看法!我先赞成一下
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-11-14 07:57 | 显示全部楼层
支持下了呵呵!!
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-11-14 16:10 | 显示全部楼层

继续支持没话说~ 楼主真强
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-11-24 14:54 | 显示全部楼层
顶也~~~
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-11-24 16:32 | 显示全部楼层
好帖还是要收藏,请继续
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-12-9 16:58 | 显示全部楼层
Asp脚本语言VBScript的正则表达式对象,可以很方便的对各种数据进行合法性的校验
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-12-12 09:11 | 显示全部楼层
很强大,很牛X
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-12-20 16:34 | 显示全部楼层
众里寻他千百度,蓦然回首在这里!
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

基础教程 HTML(网页制作基础课) Dreamweaver(网页制作课程) CSS基础知识视频教程 Photoshop(作图基础课) 进阶教程 SEO教程 PHP教程 ASP教程 JavaScript
分步教程: 域名注册教程 空间购买教程 域名解析教程 网站备案教程 域名绑定教程 上传下载教程 思路方法: 菜鸟起步教程 通用建站思路 新手建站过程 本地免费空间
实例教程 Discuz(论坛) Phpwind(论坛) ECshop(网店) Shopex(网店) Dedecms(文章资讯) PHP168(文章资讯) 114la(网址导航) uchome(交友) Wordpress(博客) | 更多
特色板块: 新手站长交流(注册后即可发帖) 数据百度大课堂授课内容 cnzhanzhang学院 站长在线答疑(建站问题免费解答) 建站教程学习区 发外链 发广告 seo交流站长群

QQ|广告报价|Archiver|手机版| 新手站长网 ( 豫ICP备14019290号 )

Powered by Discuz! X3.2

© 2007-2016 新手站长论坛 Inc.

快速回复 返回顶部 返回列表