Ş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.
Js ile Url Kontrol
3
●62
- 09-03-2021, 13:57:53Aldığı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:15Bunu 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
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