Jquery如何验证域名 [英] Jquery how to validate domain name
问题描述
我有一个输入字段,用户可以在其中编写他们希望搜索的域名。
I have a input field where users can write a domain name that they wish for search for.
我的域名搜索仅支持搜索:something.com或something
My domain search only support searches as: "something.com" or "something"
仅限支持 .com,.net,.org
我想做的是在ajax之前验证用户输入如果出现任何问题,则调用并显示错误消息。用户输入的示例:asdasdasd.asdasd或wwwasd.asdasd或www.asdasd.dk
That I want to do is validate the user input before the ajax call is made and display an error message if anything is wrong. Example if a user types: "asdasdasd.asdasd" or "wwwasd.asdasd" or "www.asdasd.dk"
#domainsearch is the input field
#domanerknap is the search button
这是我的Jquery:
Here is my Jquery:
$(document).ready(function() {
$('#domanerknap').click(function(e) {
var doma = $('#domainsearch').val();
$('#contentajax').empty()
.css("border", "1px solid #CCCCCC")
.html('<p class="vent">Please wait...</p><p class="venter"><img src="../images/ajax.gif" /></p>');
$.ajax({
type: 'POST',
url: 'http://localhost:3000/domain',
data: {
domain: doma
},
success: function(msg){
$('#contentajax').html(msg);
$('#contentajax').css("border", "none");
}
});
});
});
推荐答案
使用正则表达式检查域名是否有效。这样的正则表达式可能是:
use a regex to check if the domain is valid. Such a regex might be :
/^(http(s)?\/\/:)?(www\.)?[a-zA-Z\-]{3,}(\.(com|net|org))?$/
然后在发送ajax调用之前,检查输入是否与正则表达式匹配:
Then before you send the ajax call, check to see if the input matches the regex :
$(document).ready(function() {
$('#domanerknap').click(function(e) {
var doma = $('#domainsearch').val();
if(!/^(http(s)?\/\/:)?(www\.)?[a-zA-Z\-]{3,}(\.(com|net|org))?$/.test(doma))
{
alert('invalid domain name');
return false;
}
$('#contentajax').empty()
.css("border", "1px solid #CCCCCC")
.html('<p class="vent">Please wait...</p><p class="venter"><img src="../images/ajax.gif" /></p>');
$.ajax({
type: 'POST',
url: 'http://localhost:3000/domain',
data: {
domain: doma
},
success: function(msg){
$('#contentajax').html(msg);
$('#contentajax').css("border", "none");
}
});
});
});
这篇关于Jquery如何验证域名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!