• 09-03-2021, 13:55:11
    #1
    Şimdi bir url post ediyorum js ile bu urlnin geçerli bir urlmi değilmi olduğunu kontrol etmek istiyorum bunu nasıl sağlarım.

    Örnek :
    https://www.youtube.com/watch?v=_ShubAdjQM4

    var video = $("#url").val(); ile değişkene aldım. bunun kontrolünü nasıl sağlarım.
  • 09-03-2021, 13:57:53
    #2
    Aldığınız değeri aşağıdaki fonksiyona yollayın, true veya false dönecektir.
    function validURL(str) {
      var pattern = new RegExp('^(https?:\\/\\/)?'+ // protocol
        '((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|'+ // domain name
        '((\\d{1,3}\\.){3}\\d{1,3}))'+ // OR ip (v4) address
        '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*'+ // port and path
        '(\\?[;&a-z\\d%_.~+=-]*)?'+ // query string
        '(\\#[-a-z\\d_]*)?$','i'); // fragment locator
      return !!pattern.test(str);
    }
    kaynak: https://stackoverflow.com/questions/...tring-is-a-url
  • 09-03-2021, 14:04:15
    #3
    Bunu Nasıl yapıcam peki ? tam olarak ben js ile post ediyorum. Tam kodlarım aşağıdaki gibi olacak.

    $("#firmavideo-btn").click(function(){
    
      var baslik   =   $("#baslik").val();
      var video   =   $("#url").val();
    
      if (typeof baslik !== 'undefined' && baslik.length < 4) {
        $("#cevap").html('<div class="alert alert-info" role="alert">Video Başlığınız En Az 4 Harf içermeli... Başlığınızı Detaylı giriniz.</div>').fadeIn("slow");
        document.querySelector('#cevap').classList.add('animated', 'fadeInDown');
        setTimeout(function(){
          $("#cevap").fadeOut(4200);
        },2000);
      }
    
    Buraya Video kontrolü koyacağım.
    
      $.ajax({
        type:'POST',
        url:'app/ajax_islem.php',
        data:$('#firmavideo-frm').serialize(),
        beforeSend: function(msg) {
          $("#firmavideo-btn").html('<i class="fa fa-refresh fa-spin fa-fw"></i> Lütfen Bekleyin...').attr("disabled", "disabled");
        },
        success: function(cvp) { 
         $('#cevap').hide().html(cvp).fadeIn("slow");
         $("#firmavideo-btn").html('<i class="fa fa-paper-plane-o" aria-hidden="true"></i> Randevu Al').prop("disabled", false);
       }
     });
    });
  • 09-03-2021, 14:09:16
    #4
    var baslik = $("#baslik").val();
    var video = $("#url").val();
    function validURL(str) {
      var pattern = new RegExp(
        "^(https?:\\/\\/)?" + // protocol
          "((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|" + // domain name
          "((\\d{1,3}\\.){3}\\d{1,3}))" + // OR ip (v4) address
          "(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*" + // port and path
          "(\\?[;&a-z\\d%_.~+=-]*)?" + // query string
          "(\\#[-a-z\\d_]*)?$",
        "i"
      ); // fragment locator
      return !!pattern.test(str);
    }
    
    if (typeof baslik !== "undefined" && baslik.length < 4) {
      $("#cevap")
        .html(
          '<div class="alert alert-info" role="alert">Video Başlığınız En Az 4 Harf içermeli... Başlığınızı Detaylı giriniz.</div>'
        )
        .fadeIn("slow");
      document.querySelector("#cevap").classList.add("animated", "fadeInDown");
      setTimeout(function () {
        $("#cevap").fadeOut(4200);
      }, 2000);
    }
    
    if (!validURL(video)) return alert("geçersiz url");
    
    $.ajax({
      type: "POST",
      url: "app/ajax_islem.php",
      data: $("#firmavideo-frm").serialize(),
    
      beforeSend: function (msg) {
        $("#firmavideo-btn")
          .html('<i class="fa fa-refresh fa-spin fa-fw"></i> Lütfen Bekleyin...')
          .attr("disabled", "disabled");
      },
    
      success: function (cvp) {
        $("#cevap").hide().html(cvp).fadeIn("slow");
    
        $("#firmavideo-btn")
          .html('<i class="fa fa-paper-plane-o" aria-hidden="true"></i> Randevu Al')
          .prop("disabled", false);
      },
    });
    Ayrıca HTML tarafında inputa type olarak "url" verirseniz ön tarafta da kontrol edecektir.
    bkz: https://developer.mozilla.org/en-US/...ment/input/url