asp正则表达式在网页处理中的应用四则

时间:2008-02-24 14:44:00 

正则表达式(Regular Expression)为字符串模式匹配提供了一种高效、方便的方法。几乎所有高级语言都提供了对正则表达式的支持,或者提供了现成的代码库供调用。本文以ASP环境中常见的处理任务为例,介绍正则表达式的应用技巧。

一、检验密码和邮件地址的格式

  我们的第一个实例示范正则表达式的一项基本功能:抽象地描述任意复杂的字符串。它的意思就是,正则表达式给予程序员一种形式化的字符串描述方法,只需很少的代码即可描述出应用遇到的任意字符串模式。例如,对于不从事技术工作的人来说,密码格式的要求可以描述如下:密码的第一个字符必须是字母,密码最少4个字符且不超过15个字符,密码不能包含除字母、数字和下划线以外的字符。

  作为程序员,我们必须把上面对密码格式的自然语言描述转换成其他形式,使得ASP页面能够理解并应用它来防止非法的密码输入。描述这个密码格式的正则表达式是:^[a-zA-Z]\w{3,14}$。

  在ASP应用里,我们可以把密码验证过程写成可重用的函数,如下所示:

  Function TestPassword(strPassword)
Dim re
Set re = new RegExp

re.IgnoreCase = false
re.global = false
re.Pattern = "^[a-zA-Z]\w{3,14}$"

TestPassword = re.Test(strPassword)
End Function

下面我们把这个检验密码格式的正则表达式和自然语言描述对比着看看:

  密码的第一个字符必须是字母:正则表达式描述是“^[a-zA-Z]”,其中“^”表示字符串的开始,连字符告诉RegExp匹配指定范围的所有字符。

  密码最少4个字符且不超过15个字符:正则表达式描述是“{3,14}”。

  密码不能包含除字母、数字和下划线以外的字符:正则表达式描述是“\w”。

  几点说明:{3,14}表示前面的模式匹配至少3个、但不超过14个的字符(加上第一个字符就成了4到15个字符)。注意花括号内的语法要求极其严格,不允许在逗号的两边加入空格。如果加入了空格,它将对正则表达式的含义产生影响,导致密码格式检验时产生错误。另外,上面的正则表达式末尾也没有加上“$”字符。$字符使得正则表达式匹配字符串直至末尾,确保合法的密码后面没有加上任何其他字符。

  类似于密码格式检验,检查email地址的合法性也是一个很常见的问题,用正则表达式进行简单的email地址检验可以实现如下:

  <%
Dim re
Set re = new RegExp

re.pattern = "^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$"
Response.Write re.Test("aabb@yahoo.com")
%>

标签:正则表达式,RegExp,asp
0
投稿

猜你喜欢

  • python使用magic模块进行文件类型识别方法

    2022-07-12 18:15:26
  • Tensorflow加载模型实现图像分类识别流程详解

    2023-12-22 02:31:13
  • 快速解决百度编译器json报错的问题

    2023-04-08 16:20:17
  • python中偏函数partial用法实例分析

    2021-03-24 21:35:23
  • 基于Bootstrap分页的实例讲解(必看篇)

    2024-04-16 10:31:58
  • js中函数声明与函数表达式

    2024-04-25 13:08:35
  • linux系统使用python获取cpu信息脚本分享

    2021-10-18 17:45:30
  • fastapi与django异步的并发对比分析

    2023-01-03 19:49:30
  • Python爬虫动态ip代理防止被封的方法

    2022-01-24 00:15:30
  • python中的mock接口开发示例详解

    2023-03-05 00:53:29
  • JavaScript 编程引入命名空间

    2007-10-11 19:00:00
  • PHP+MYSQL不恶补十句话

    2009-12-02 10:09:00
  • 二十种Python代码游戏源代码分享

    2023-07-31 01:37:16
  • Python实现批量word文档转pdf并统计其页码

    2023-08-19 13:29:40
  • Flask中jinja2的继承实现方法及实例

    2022-09-24 12:31:09
  • Jupyter notebook命令和编辑模式常用快捷键汇总

    2023-05-10 14:14:15
  • 星球大战与Python之间的那些事

    2023-05-25 13:49:35
  • 在 Windows 10 上安装 解压缩版 MySql(推荐)

    2024-01-21 18:18:24
  • php 查找数组元素提高效率的方法详解

    2023-11-15 02:51:08
  • vuex 解决报错this.$store.commit is not a function的方法

    2024-05-08 09:34:14
  • asp之家 网络编程 m.aspxhome.com