이 간단한 기능은 저에게 효과적입니다. 우리는 속도를 얻기 위해 TLD 도메인의 실제 존재에 신경 쓰지 않고 example.com과 같은 구문을 확인합니다.
미안 해요, VBA는 때문에,은() JS의 고유 함수가 아닙니다 트림 것을 잊어 버린 :
// Removes leading whitespaces
function LTrim(value)
{
var re = /\s*((\S+\s*)*)/;
return value.replace(re, "$1");
}
// Removes ending whitespaces
function RTrim(value)
{
var re = /((\s*\S+)*)\s*/;
return value.replace(re, "$1");
}
// Removes leading and ending whitespaces
function trim(value)
{
return LTrim(RTrim(value));
}
function hasDomainTld(strAddress)
{
var strUrlNow = trim(strAddress);
if(strUrlNow.match(/[,\s]/))
{
return false;
}
var i, regex = new RegExp();
regex.compile("[A-Za-z0-9\-_]+\\.[A-Za-z0-9\-_]+$");
i = regex.test(strUrlNow);
regex = null;
return i;
}
그래서 코드, $ (이) 윈도우 객체, 그래서 나는 objInput 통과 인수를 통해, 대신 jQuery를의 고전 JS를 사용하여 :
function checkIt(objInput)
{
var val = objInput.value;
if(val.match(/http:/i)) {
return false;
}
else if (hasDomainTld(val)) {
objInput.value = 'http://' + val;
}
}
자신을 테스트하십시오 http://jsfiddle.net/SDUkZ/8/
http : // localhost와 같은 경우 어떻게됩니까? –
im은 localhost에 대해 걱정하지 않습니다 :) – danyo
그래서 유효한 URL 또는 TLD로 정의되는 것은 무엇입니까? 기업이 .canon과 같은 새 TLD를 만들면 어떻게됩니까? –