不帅 发表于 2015-1-16 22:13:42

ASP网页设计一些经常使用的正则表达式

在实现ERP等高端的ASP应用时,用户需要提供核心的经营资料,需要ASP商有很高的信用度。楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。正则"^d+$"  //非负整数(正整数+0)
"^**$"  //正整数
"^((-d+)|(0+))$"  //非正整数(负整数+0)
"^-**$"  //负整数
"^-?d+$"    //整数
"^d+(.d+)?$"  //非负浮点数(正浮点数+0)
"^((+.**)|(**.+)|(**))$"  //正浮点数
"^((-d+(.d+)?)|(0+(.0+)?))$"  //非正浮点数(负浮点数+0)
"^(-((+.**)|(**.+)|(**)))$"  //负浮点数
"^(-?d+)(.d+)?$"  //浮点数
"^+$"  //由26个英笔墨母构成的字符串
"^+$"  //由26个英笔墨母的年夜写构成的字符串
"^+$"  //由26个英笔墨母的小写构成的字符串
"^+$"  //由数字和26个英笔墨母构成的字符串
"^w+$"  //由数字、26个英笔墨母大概下划线构成的字符串
"^+(.+)*@+(.+)+$"    //email地点
"^+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$"  //url
/^(d{2}|d{4})-((0({1}))|(1))-((({1}))|(3))$///年-月-日
/^((0({1}))|(1))/((({1}))|(3))/(d{2}|d{4})$///月/日/年
"^(+)@(([{1,3}.{1,3}.{1,3}.)|((+.)+))({2,4}|{1,3})(]?)$"//Emil
"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?"//德律风号码
"^(d{1,2}|1dd|2d|25).(d{1,2}|1dd|2d|25).(d{1,2}|1dd|2d|25).(d{1,2}|1dd|2d|25)$"//IP地点
婚配中笔墨符的正则表达式:
婚配双字节字符(包含汉字在内):[^x00-xff]
婚配空行的正则表达式:
*
婚配HTML标志的正则表达式:/<(.*)>.*</1>|<(.*)/>/
婚配首尾空格的正则表达式:(^s*)|(s*$)
婚配Email地点的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
婚配网址URL的正则表达式:^+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
婚配帐号是不是正当(字母开首,同意5-16字节,同意字母数字下划线):^{4,15}$
婚配国际德律风号码:(d{3}-|d{4}-)?(d{8}|d{7})?
婚配腾讯QQ号:^**$

下表是元字符及其在正则表达式高低文中的举动的一个完全列表:
将下一个字符标志为一个特别字符、或一个原义字符、或一个后向援用、或一个八进制本义符。
^婚配输出字符串的入手下手地位。假如设置了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]负值字符汇合。
字符局限,婚配指定局限内的恣意字符。
[^a-z]负值字符局限,婚配任何不在指定局限内的恣意字符。
婚配一个单词界限,也就是指单词和空格间的地位。
B婚配非单词界限。
cx婚配由x指明的把持字符。
d婚配一个数字字符。等价于。
D婚配一个非数字字符。等价于[^0-9]。
f婚配一个换页符。等价于x0c和cL。

婚配一个换行符。等价于x0a和cJ。
婚配一个回车符。等价于x0d和cM。
s婚配任何空缺字符,包含空格、制表符、换页符等等。等价于[f
        v]。
S婚配任何非空缺字符。等价于[^f
        v]。
        婚配一个制表符。等价于x09和cI。
v婚配一个垂直制表符。等价于x0b和cK。
w婚配包含下划线的任何单词字符。等价于’’。
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字符。

婚配中笔墨符的正则表达式:
婚配双字节字符(包含汉字在内):[^x00-xff]
使用:盘算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
String.prototype.len=function(){returnthis.replace([^x00-xff]/g,"aa").length;}
婚配空行的正则表达式:n*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*255*255*255+ip*255*255+ip*255+ip*1))
婚配Email地点的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
婚配网址URL的正则表达式:http://(+.)++(/*)?
使用正则表达式往除字串中反复的字符的算法程序:
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(//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

我想问如何掌握学习节奏(先学什么再学什么)最好详细点?

飘飘悠悠 发表于 2015-2-7 03:28:16

在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。

冷月葬花魂 发表于 2015-2-20 10:51:18

下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...

第二个灵魂 发表于 2015-3-6 17:10:49

用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。

若相依 发表于 2015-3-13 04:58:01

Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件

老尸 发表于 2015-3-20 13:21:02

ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
页: [1]
查看完整版本: ASP网页设计一些经常使用的正则表达式