SORU
20 AĞUSTOS 2009, PERŞEMBE


Doğrulamaya çalışıyorum URL JavaScript Kullanarak

URL ve ekran mesajı doğrulamak istiyorum. Aşağıda benim kod:

$("#pageUrl").keydown(function(){
        $(".status").show();
        var url = $("#pageUrl").val();

        if(isValidURL(url)){

        $.ajax({
            type: "POST",
            url: "demo.php",
            data: "pageUrl="  url,
            success: function(msg){
                if(msg == 1 ){
                    $(".status").html('<img src="images/success.gif"/><span><strong>SiteID:</strong>12345678901234456</span>');
                }else{
                    $(".status").html('<img src="images/failure.gif"/>');
                }
            }
            });

            }else{

                    $(".status").html('<img src="images/failure.gif"/>');
            }

    });


function isValidURL(url){
    var RegExp = /(ftp|http|https):\/\/(\w :{0,1}\w*@)?(\S )(:[0-9] )?(\/|\/([\w#!:.? =&%@!\-\/]))?/;

    if(RegExp.test(url)){
        return true;
    }else{
        return false;
    }
} 

Benim sorunum şimdi düzenli ifade ile eşleşen kadar uygun bir URL girmek bile bir hata iletisi gösterir, ve eğer URL "http://wwww" gibi bir şey olup olmadığını bile doğru dönün.

Tavsiyeniz için teşekkür ederim.

CEVAP
20 AĞUSTOS 2009, PERŞEMBE


Pratik URL düzenli ifade kullanarak ayrıştırmak için değil. RFC1738 kurallarının tam olarak uygulanması çok uzun bir düzenli ifade (mümkün olduğunu varsayarak) neden olur. Kesinlikle geçerli ifadeniz çok geçerli bir URL, başarısız ve geçersiz olanları geçirir.

Bunun yerine:

bir. aslında gerçek kurallara uygun bir URL parser kullanın. (JavaScript için bir bilmiyorum; muhtemelen gereğinden fazla. Sunucu tarafında olsa) olabilir. Ya da,

b. sadece uzak trim başında veya sonunda boşluk, sonra kontrol var birini tercih ettiğiniz programları üzerine ön (genellikle ‘http:// "veya" https://’) ve bırakın. Ya da,

c. URL kullanmak ve HEAD isteği HTTP pm göndererek sonunda, örneğin ne yatıyor sunucu tarafı görmek için bir girişim. Eğer 404 veya bir bağlantı hatası alırsanız, muhtemelen yanlış.

eğer url gibi bir şey olup olmadığını bile doğru dön"". http://wwww

İşte bu kesinlikle son derece geçerli bir URL değil.

Eğer bir hostname ‘wwww’ aslında ama DNS aramak için başka seçeneğiniz var. böyle olup olmadığını kontrol etmek istiyorsanız Yine, bu sunucu tarafı kodu.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Canal de arkyoru

    Canal de ark

    18 Ocak 2007
  • KRQE

    KRQE

    6 AĞUSTOS 2007
  • Shaollin Animes

    Shaollin Ani

    19 HAZİRAN 2013