/^(?:\w+\.)+\w+(?:\:\d+)*(?:\/[\w\.]+)*$/
正则表达式如上, 这个表达事是用来验证URL的,但有如下规则
1.不能有协议,如:http://www.baidu.com,不能有http://, ftp://.......
2.不能带参数,如:www.baidu.com?user=jerry,不能有:?user=jerry
3.对于端口是允许的,可以有,可以没有. 如 reseller.yahoo.com:8080/reseller 或reseller.yahoo.com/reseller这2个都是正确的
我这个已经可以达到以上的标准, 但是'www.sheraton-taipei.com.tw' (这个是正确的) 这个就过不去, 原因是中间带了一个"-"符号我想请假下大家该怎么写. 说明下这个正则表达式是用JS的,所以请各位在回复的时候用JS的来写.
先谢谢了
关于一个正则表达式 在线等
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
-
- 帖子: 52
- 注册时间: 2008-07-27 11:36
- 联系:
关于一个正则表达式 在线等
上次由 jerry_zhou 在 2008-08-20 11:07,总共编辑 1 次。
-
- 帖子: 52
- 注册时间: 2008-07-27 11:36
- 联系:
- sevk
- 帖子: 2060
- 注册时间: 2007-05-08 16:26
- 系统: arch
- 来自: 火星内核某分子内某原子核内
- 联系:
puts "==不合法==\n" if ('ww.ww.baidu.com/sss'=~ /\:\/|=|\?/ ) !=nil
如果你安装了ruby,可以运行 irb,测试这句.
意思是:
如果字符串:'ww.ww.baidu.com/sss' 匹配正则/\:\/|=|\?/ ,匹配就输出字符串: "==不合法==\n"
=~ 是返回匹配的位置,不匹配就返回 nil.
/\:\/|=|\?/ 的意思:
看是否包含 \: 或=或\?
如果你安装了ruby,可以运行 irb,测试这句.
意思是:
如果字符串:'ww.ww.baidu.com/sss' 匹配正则/\:\/|=|\?/ ,匹配就输出字符串: "==不合法==\n"
=~ 是返回匹配的位置,不匹配就返回 nil.
/\:\/|=|\?/ 的意思:
看是否包含 \: 或=或\?
笔记本 :
F208S : gentoo
A460P i3G D6 : UBUNTU + WIN7
UN43D1 : UBUNTU + WIN7
1000人超级QQ群 LINUX + WIN : 31465544 或 18210387
F208S : gentoo
A460P i3G D6 : UBUNTU + WIN7
UN43D1 : UBUNTU + WIN7
1000人超级QQ群 LINUX + WIN : 31465544 或 18210387