|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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的概念本就是为一个能让系统运行于一个大的多样化环境而设计的; |
|