JQuery验证网站地址输入

f-c*_*ode -1 javascript validation jquery

我有一个网站地址的输入文本,我想验证它.

应该允许的例子有:www.somesite.com或.net或.org或任何对网站地址有效的内容.

可能应该使用jQuery或只是简单的Javascript

Gab*_*iel 6

免责声明:这是用regex文字javascript编写的url验证的极其天真的实现,目的是解释这种努力背后的思想,此代码不适用于任何容量的生产用途.

使用正则表达式验证URL:

以下代码适用于案例的横截面.您需要验证这些情况是否符合您的需求.网址是广泛而多样的生物,包括可能使用的utf-8字符未在下面的基本设置中涵盖.对于这些情况,您将需要更多关于正则表达式的研究(无论如何,完全值得为任何javascript开发工作做).

var urls = ['www.someurl.com', // true
            'www.someurl.net', // true
            'google.org', // true
            'not a url', // false
            'someone@funky.com', // false
            'http://www.yahoo.com', // true
            'https://www.clutter.org', // true
            'ftp://test.fail', // false
            'http://this.is.a/path/to/my/resource.html', // true
            'adress-with-hyphens.org']; // true
for( var i = 0, url; url = urls[i++]; ){

  console.log(url, /^(https?:\/\/)?([\w\d\-_]+\.)+\/?/.test(url));

}
Run Code Online (Sandbox Code Playgroud)

解释这段代码:

  • / 启动正则表达式文字.
  • ( 打开一个选择组.
  • http 是要搜索的字符串.
  • s?使s字符串的一部分可选.
  • : 是搜索冒号字符.
  • \/是搜索(/)的字符后跟的转义字符,这在很多情况下很有用.
  • )? 使该组可选.

下一组包含查找任何单词,数字,连字符或下划线字符(一个或多个+),后跟一个.(\.).然后是可选的/./最后关闭正则表达式文字.test是任何正则表达式对象上的方法,以查看字符串是否通过它.要测试的字符串是唯一的参数.