当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 5 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 关于一个正则表达式 在线等
帖子发表于 : 2008-08-20 10:59 

注册: 2008-07-27 11:36
帖子: 52
送出感谢: 0 次
接收感谢: 0 次
/^(?:\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的来写.

先谢谢了


最后由 jerry_zhou 编辑于 2008-08-20 11:07,总共编辑了 1 次

页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-08-20 11:04 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
就是开头用w,中间没? 。包含中间的.
:?:


_________________
● 鸣学


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-08-20 11:06 

注册: 2008-07-27 11:36
帖子: 52
送出感谢: 0 次
接收感谢: 0 次
eexpress
不一定是用www.开头的
reseller.yahoo.com:8080/reseller
这个也是正确的


要允许带端口(可有可不有)


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-08-20 11:15 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
egrep -v '(:\/\/|\?)'
只会这样。

我不会JS。 :cry:


_________________
● 鸣学


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-08-20 20:04 
头像

注册: 2007-05-08 16:26
帖子: 2058
地址: 火星内核某分子内某原子核内
系统: arch
送出感谢: 20
接收感谢: 6
puts "==不合法==\n" if ('ww.ww.baidu.com/sss'=~ /\:\/|=|\?/ ) !=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


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 5 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译