【问题标题】:how to create a URL validation for these requirements jquery如何为这些要求创建 URL 验证 jquery
【发布时间】:2012-04-23 12:43:15
【问题描述】:

嗨,我有一个用于 URL 验证的 jquery 验证方法,

目前我使用这样的验证规则

 var urlregex = new RegExp("^(http|https|ftp)\://([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\?\'\\\+&%\$#\=~_\-]+))*$");
 var urltest=urlregex.test(url);

这验证了

1 . http://abcd 为真。

2 。 http://abcd.com 为真。

3 . http://www.abcd 为真。

4 . http://www.abcd.com 为真。

我只想成为第 4 个 URL。

我想要一个需要的验证

wwwhttp:// (or like https:// , ftp://) 并以 .com (or like .org , .lk) 结尾

只有这样的 URL 才能验证为真

http://www.abcd.com
http://www.efgh.lk

请帮忙。在此先感谢.......................

【问题讨论】:

  • 所以像http://google.com 这样的东西应该是无效的?
  • @Vytautas 根据我的 QA 团队的说法,是的 .. :'(
  • @KanishkaPanamaldeniya 这有点不对...你应该注意到他们,因为最终用户可能不明白为什么http://google.com 不验证
  • 那太糟糕了。很多网页不适用于www. 也许你应该向你的质量保证团队解释..

标签: javascript jquery jquery-validate


【解决方案1】:

试试这个正则表达式:

^(http|https|ftp)\:\/\/www\.[-0-9a-zA-Z]+\.[a-zA-Z]{2,3}$

更新
正则表达式对象初始化 + 无限数量的子域 + 根域中最多 4 个字符:

var urlregex = new RegExp(/^(http|https|ftp)\:\/\/www\.([-0-9a-zA-Z]+\.)+[a-zA-Z]{2,4}$/);

【讨论】:

  • ^(https?|ftp)\:\/\/www.[-0-9a-zA-Z]+.[a-zA-Z]{2,4}$ 会更高效
  • 如果我们想要无限数量的子域:^(http|https|ftp)\:\/\/www\.([-0-9a-zA-Z]+\.)+[a-zA-Z]{2,4}$
  • @yuvin 非常感谢您的回答。但这验证了 url 之类的 www.kkk k kllllllllllll.com 为 true ,女巫在 url 中有空格。请帮助验证没有空格的网址。
  • @KanishkaPanamaldeniya 请确保您使用更新的答案(点转义如下:\.)否则. 表示“任何符号”。
  • 我用过这个^(http|https|ftp)\:\/\/www\.([-0-9a-zA-Z]+\.)+[a-zA- Z]{2,4}$
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-23
  • 1970-01-01
  • 2023-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多