我有一个网站地址的输入文字,我想验证它。
应该允许的例子有:www.somesite.com或.net或.org或任何对网站地址有效的内容。
可能应该使用jQuery或只是简单的Javascript
答案 0 :(得分:6)
免责声明:这是一个极端的 天真地实施网址 用regex文字书写的验证 javascript的目的 解释这种背后的想法 努力,这个代码不是有意的 用于任何生产用途。
以下代码适用于案例的横截面。您需要验证这些情况是否符合您的需求。网址是广泛而多样的生物,包括可能使用的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));
}
解释此代码:
/
启动正则表达式文字。 (
打开一个选择组。 http
是要搜索的字符串。 s?
使字符串的s
部分可选。 :
是搜索冒号字符。 \/
是转义字符,后跟要搜索的字符(/
),这在很多情况下很有用。 )?
使该组可选。 下一组包含查找任何字,数字,连字符或下划线字符(一个或多个+
),后跟.
(\.
)。然后是可选的/
。最后/
关闭正则表达式文字。 test
是任何正则表达式对象上的方法,用于查看字符串是否通过它。要测试的字符串是唯一的参数。
答案 1 :(得分:4)
您想使用正则表达式。
正则表达式是一种用于搜索常规语言的模式匹配技术。这意味着您可以使用正则表达式来查找和匹配符合您所需模式的许多不同内容。
开始学习正则表达式(正则表达式的简称)的好地方他们有很棒的指南可以帮助你入门
一旦你了解了它们,你就会明白为什么会出现这种模式
[www]?\..*?\.(com|net|org)
意味着为什么它不是用来匹配网站的好模式,尽管它可行。
祝你好运,快乐狩猎
答案 2 :(得分:2)
我注意到你的标题引用了jQuery - 虽然我认为这个问题已经死了以为我会发布这个给其他人出来。这个jQuery插件使用简单,功能强大。虽然插件在验证单个字段时过于苛刻,但如果您在同一表单上进行其他验证(包括必填字段),则会很有帮助。以下示例是从文档中提取的。在启动插件后,您只需添加要包含的验证类。如果需要,你可以创建一个习惯,但它有点复杂。
http://bassistance.de/jquery-plugins/jquery-plugin-validation/
用法很简单:
$("#commentForm").validate();
形式:
<form class="cmxform" id="commentForm" method="post" action="">
<p>
<label for="cname">Name</label>
<em>*</em><input id="cname" name="name" size="25" class="required" minlength="2" />
</p>
<p>
<label for="cemail">E-Mail</label>
<em>*</em><input id="cemail" name="email" size="25" class="required email" />
</p>
<p>
<label for="curl">URL</label>
<em> </em><input id="curl" name="url" size="25" class="url" value="" />
</p>
<p>
<label for="ccomment">Your comment</label>
<em>*</em><textarea id="ccomment" name="comment" cols="22" class="required"></textarea>
</p>
<p>
<input class="submit" type="submit" value="Submit"/>
</p>
</form>
那就是XD
答案 3 :(得分:1)
$.ajax({url: webpage ,type:'HEAD',error:function(){
alert('Oops !');
}});
答案 4 :(得分:1)
我认为此链接对您有所帮助......