主题:  烦人的正则表达式,怎么写算是完善啊?

浮尘

职务:普通成员
等级:3
金币:7.0
发贴:1258
#12005/11/28 11:43:35
在客户端脚本中,怎么用正则表达式检测用户输入的URL是否有效?写起来真的很烦,用.NET自带的
http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
不好使呀!各位有能通过下面的URL测试的正则表达式吗?
http://www.5d.cn
http://www.5d.cn/
http://www.5d.cn:80
http://www.5d.cn:80/
http://www.5d.cn:80/bbs
http://www.5d.cn/bbs/posting.asp
http://www.5d.cn/bbs/posting.asp?page=1
http://www.5d.cn/bbs/posting.asp?page=1&dp=0&action=newtopic



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#22005/11/28 16:30:55
带端口号的需要修改下一下
http://([\w-]+\.)+[\w-]+(:\d+)*(/[\w- ./?%&=]*)?


非常大鱼

浮尘

职务:普通成员
等级:3
金币:7.0
发贴:1258
#32005/11/29 9:46:31
这样在检测 http://www.5d.cn/bbs/posting.asp?page=1&dp=0&action=newtopic 时是通不过的。
我是这样写的
var re=/^http:\/\/[\w-]+(\.[\w-]+)+(:\d*)?(\/([\w-.]+)?)*([?&]\w+=[\w-]*)*$/;
很繁琐,帮忙看看能不能优化一下。



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#42005/11/29 11:03:41
最近进步很快啊
上面这个表达式是我在网页欣赏管理程序中用的,因很少用到参数,所以也没测试。
表达式可以测试一下,测试是检验最好的方法了。


非常大鱼

浮尘

职务:普通成员
等级:3
金币:7.0
发贴:1258
#52005/11/29 15:27:45
呵呵,跟版主学习呀。



sdawenye

职务:普通成员
等级:1
金币:0.0
发贴:16
#62006/1/5 10:24:34



sdawenye

职务:普通成员
等级:1
金币:0.0
发贴:16
#72006/1/5 10:25:32
我好多地方都不明啊,要慢慢的来啊



robin17218

职务:普通成员
等级:1
金币:0.0
发贴:5
#82006/1/6 14:54:12
关于正则 我有个小问题 想问一下?
我在用户注册的时候用的RegExp 没有问题
但是在同一个空间其他页面中使用RegExp 就提示:
Microsoft VBScript 运行时错误 错误 '800a01b0'

Automation 操作中文件名或类名未找到: 'RegExp'

为什么??



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#92006/1/10 14:54:10
没有引用RegExp所在的命名空间


非常大鱼

robin17218

职务:普通成员
等级:1
金币:0.0
发贴:5
#102006/1/16 15:16:40
能说的具体一点吗? 如何引用命名空间!!!



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#112006/1/17 10:46:39
找下帮助吧,RegExp如果没有引用命名空间,程序无法断定是用那个类

比如Test类,在二个命名空间下,
Hellosea.Web.Test
Helosea.Web.Control.Test
虽然都是Test类,但这是二个完全不同的类

using Hellosea.Web以后,使用Test类,就知道是Hellosea.Web.Test,这样可以简化写法了。但如果同时引用这二个命名空间,就不能简化,必须写Hellosea.Web.Test

RegExp也一样,我同样可能自己定义自己的RegExp类。

命名空间我一时想不起来了,因这里没装VS,自己找下帮助吧


非常大鱼

robin17218

职务:普通成员
等级:1
金币:0.0
发贴:5
#122006/1/17 16:38:09
I get it thanks !!