仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 462|回复: 8
打印 上一主题 下一主题

[学习教程] ASP网页设计一些经常使用的正则表达式

[复制链接]
不帅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:13:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在实现ERP等高端的ASP应用时,用户需要提供核心的经营资料,需要ASP商有很高的信用度。楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。正则"^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地点
婚配中笔墨符的正则表达式:[u4e00-u9fa5]
婚配双字节字符(包含汉字在内):[^x00-xff]
婚配空行的正则表达式:
[s|]*
婚配HTML标志的正则表达式:/<(.*)>.*</1>|<(.*)/>/
婚配首尾空格的正则表达式:(^s*)|(s*$)
婚配Email地点的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
婚配网址URL的正则表达式:^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
婚配帐号是不是正当(字母开首,同意5-16字节,同意字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
婚配国际德律风号码:(d{3}-|d{4}-)?(d{8}|d{7})?
婚配腾讯QQ号:^[1-9]*[1-9][0-9]*$

下表是元字符及其在正则表达式高低文中的举动的一个完全列表:
将下一个字符标志为一个特别字符、或一个原义字符、或一个后向援用、或一个八进制本义符。
^婚配输出字符串的入手下手地位。假如设置了RegExp工具的Multiline属性,^也婚配’
’或’’以后的地位。
$婚配输出字符串的停止地位。假如设置了RegExp工具的Multiline属性,$也婚配’
’或’’之前的地位。
*婚配后面的子表达式零次或屡次。
+婚配后面的子表达式一次或屡次。+等价于{1,}。
?婚配后面的子表达式零次或一次。?等价于{0,1}。
{n}n是一个非负整数,婚配断定的n次。
{n,}n是一个非负整数,最少婚配n次。
{n,m}m和n均为非负整数,个中n<=m。起码婚配n次且最多婚配m次。在逗号和两个数之间不克不及有空格。
?当该字符紧跟在任何一个其他限定符(*,+,?,{n},{n,},{n,m})前面时,婚配形式长短贪心的。非贪心形式尽量少的婚配所搜刮的字符串,而默许的贪心形式则尽量多的婚配所搜刮的字符串。
.婚配除"
"以外的任何单个字符。要婚配包含’
’在内的任何字符,请利用象’[.
]’的形式。
(pattern)婚配pattern并猎取这一婚配。
(?:pattern)婚配pattern但不猎取婚配了局,也就是说这是一个非猎取婚配,不举行存储供今后利用。
(?=pattern)正向预查,在任何婚配pattern的字符串入手下手处婚配查找字符串。这是一个非猎取婚配,也就是说,该婚配不必要猎取供今后利用。
(?!pattern)负向预查,与(?=pattern)感化相反
x|y婚配x或y。
[xyz]字符汇合。
[^xyz]负值字符汇合。
[a-z]字符局限,婚配指定局限内的恣意字符。
[^a-z]负值字符局限,婚配任何不在指定局限内的恣意字符。
婚配一个单词界限,也就是指单词和空格间的地位。
B婚配非单词界限。
cx婚配由x指明的把持字符。
d婚配一个数字字符。等价于[0-9]。
D婚配一个非数字字符。等价于[^0-9]。
f婚配一个换页符。等价于x0c和cL。

婚配一个换行符。等价于x0a和cJ。
婚配一个回车符。等价于x0d和cM。
s婚配任何空缺字符,包含空格、制表符、换页符等等。等价于[f
        v]。
S婚配任何非空缺字符。等价于[^f
        v]。
        婚配一个制表符。等价于x09和cI。
v婚配一个垂直制表符。等价于x0b和cK。
w婚配包含下划线的任何单词字符。等价于’[A-Za-z0-9_]’。
W婚配任何非单词字符。等价于’[^A-Za-z0-9_]’。
xn婚配n,个中n为十六进制本义值。十六进制本义值必需为断定的两个数字长。

um婚配num,个中num是一个正整数。对所猎取的婚配的援用。

标识一个八进制本义值或一个后向援用。假如
之前最少n个猎取的子表达式,则n为后向援用。不然,假如n为八进制数字(0-7),则n为一个八进制本义值。

m标识一个八进制本义值或一个后向援用。假如
m之前最少有isprecededbyatleastnm个猎取得子表达式,则nm为后向援用。假如
m之前最少有n个猎取,则n为一个后跟笔墨m的后向援用。假如后面的前提都不满意,若n和m均为八进制数字(0-7),则
m将婚配八进制本义值nm。

ml假如n为八进制数字(0-3),且m和l均为八进制数字(0-7),则婚配八进制本义值nml。
un婚配n,个中n是一个用四个十六进制数字暗示的Unicode字符。

婚配中笔墨符的正则表达式:[u4e00-u9fa5]
婚配双字节字符(包含汉字在内):[^x00-xff]
使用:盘算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
String.prototype.len=function(){returnthis.replace([^x00-xff]/g,"aa").length;}
婚配空行的正则表达式:n[s|]*r
婚配HTML标志的正则表达式:/<(.*)>.*</1>|<(.*)/>/
婚配首尾空格的正则表达式:(^s*)|(s*$)
使用:javascript中没有像vbscript那样的trim函数,我们就能够使用这个表达式来完成,以下:
String.prototype.trim=function()
{
returnthis.replace(/(^s*)|(s*$)/g,"");
}
使用正则表达式分化和转换IP地点:
上面是使用正则表达式婚配IP地点,并将IP地点转换成对应数值的Javascript程序:
functionIP2V(ip)
{
re=/(d+).(d+).(d+).(d+)/g//婚配IP地点的正则表达式
if(re.test(ip))
{
returnRegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
}
else
{
thrownewError("NotavalidIPaddress!")
}
}
不外下面的程序假如不必正则表达式,而间接用split函数来分化大概更复杂,程序以下:
varip="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-./?%&=]*)?
使用正则表达式往除字串中反复的字符的算法程序:
vars="abacabefgeeii"
vars1=s.replace(/(.).*1/g,"$1")
varre=newRegExp("["+s1+"]","g")
vars2=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,))"
无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的;
变相怪杰 该用户已被删除
沙发
发表于 2015-1-19 05:13:04 | 只看该作者
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
莫相离 该用户已被删除
板凳
发表于 2015-1-24 12:03:16 | 只看该作者
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
因胸联盟 该用户已被删除
地板
发表于 2015-2-1 10:12:04 | 只看该作者
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
飘飘悠悠 该用户已被删除
5#
发表于 2015-2-7 03:28:16 | 只看该作者
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
冷月葬花魂 该用户已被删除
6#
发表于 2015-2-20 10:51:18 | 只看该作者
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
第二个灵魂 该用户已被删除
7#
发表于 2015-3-6 17:10:49 | 只看该作者
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
若相依 该用户已被删除
8#
发表于 2015-3-13 04:58:01 | 只看该作者
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
老尸 该用户已被删除
9#
发表于 2015-3-20 13:21:02 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-1-9 02:24

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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