• 28-04-2025, 15:59:16
    #1
    Merhaba,
    Formu post etmeden önce js tarafında kontrol ettiriyorum.
    Bu kodların içine kullanıcı adı, şifre ve checkbox inputları için regex pattern kontrolünü ekleyemedim,
    Ayrı olarak validate yaptırdım o da hata verdi.

    JS kodların içine:
    -Kullanıcı adı en az 4 karakter ve harf içersin,
    -Şifre en az 8 karakter, 1 büyük 1 küçük harf ve bir özel karakter içersin,
    -Checkbox'lar işaretli olsun

    şeklinde nasıl ekleyebilirim.

    PHP
    <form action="" method="POST" onsubmit="return false;" id="bregisterform">
        <div class="customer-login text-left">
            <h4 class="title-1 title-border text-uppercase mb-30">ÜYE KAYIT</h4>
            <input type="text" placeholder="Ad Soyad" name="uname">
            <input type="text" placeholder="e-posta" name="umail">
            <input type="password" placeholder="Şifre" name="upass">
            <input type="password" placeholder="Şifre tekrar" name="upass2">
            <input type="number" placeholder="Telefon '05555550000'" name="uphone">
            <input type="text" id="uddate" name="uddate" placeholder="Doğum tarihi gg.aa.yyyy">
            <select input type="text" placeholder="Cinsiyet" name="ucins">
                <option value="">Cinsiyet seçiniz</option>
                <option value="Erkek">Erkek</option>
                <option value="Kadın">Kadın</option>
            </select>
            <div class="form-check">
                <label><input type="checkbox" class="form-check-input" name="sozlesme"><a href="#ModalLong" data-bs-toggle="modal">Üyelik ve Satış sözleşmesi</a> ni okudum onaylıyorum</label>
            </div>
            <div class="form-check">
                <label><input type="checkbox" class="form-check-input" name="kvkk"><a href="#ModalLong2" data-bs-toggle="modal">KVKK Aydınlatma metni</a> ni okudum onaylıyorum</label>
            </div>
            <button type="submit" id="registerbuton" onclick="registerbutton();" class="button-one submit-button mt-15">KAYIT OL</button>
        </div>
    </form>
    JS
    function registerbutton(){
      
        document.getElementById("registerbuton").disabled = true;
        var data = $("#bregisterform").serialize();
    
        $.ajax({
            type : "POST",
            url  : url ,
            data : data,
            success : function(result){
    
                if($.trim(result) == "empty"){
                    alert("Lütfen boş alan bırakmayınız");
                    document.getElementById("registerbuton").disabled = false;
    
                }else if($.trim(result) == "format"){
                    alert("E-posta formatı hatalı");
                    document.getElementById("registerbuton").disabled = false;
                
                }else if($.trim(result) == "match"){
                    alert("Şifreler uyuşmadı");
                    document.getElementById("registerbuton").disabled = false;
    
                }else if($.trim(result) == "already"){
                    alert("Bu e-posta adına ait bir bayi zaten kayıtlı");
                    document.getElementById("registerbuton").disabled = false;
                    
                }else if($.trim(result) == "error"){
                    alert("Bir hata oluştu...");
                    document.getElementById("registerbuton").disabled = false;
    
                }else if($.trim(result) == "ok"){
                    alert("Üyeliğiniz başarıyla oluştuldu... E-mail hesabınıza gönderilen linke tıklayarak üyelik aktivasyonunu tamamlayınız  ...");
                    window.location.href = url;
                }
            }
        });
    }
  • 28-04-2025, 16:11:23
    #2
    https://workik.com/ai-powered-regex-generator yardımcı olabilir regex konusunda.

    uname :
    ^[a-zA-Z]{4,}$

    password:
    ^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*(),.?":{}|<>])[A-Za-zd!@#$%^&*(),.?":{}|<>]{8,}$
  • 28-04-2025, 16:14:24
    #3
    furukderki adlı üyeden alıntı: mesajı görüntüle
    https://workik.com/ai-powered-regex-generator yardımcı olabilir regex konusunda.

    uname :
    ^[a-zA-Z]{4,}$

    password:
    ^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*(),.?":{}|<>])[A-Za-zd!@#$%^&*(),.?":{}|<>]{8,}$
    Benzeri şekilde regex kodlarını ayrı olarak yapıyorum ama mevcut js/ajax kodlarının içine yazamadım.
  • 28-04-2025, 16:18:02
    #4
    function validateForm() {
    
        const form = document.getElementById("bregisterform");
        const usernameInput = form.elements["uname"];
        const passwordInput = form.elements["upass"];
       
        const username = usernameInput.value.trim();
        const password = passwordInput.value;
    
        
     
        const usernameRegex = /^(?=.*[a-zA-Z]).{4,}$/;
        if (!usernameRegex.test(username)) {
            alert("Kullanıcı adı en az 4 karakter olmalı ve harf içermelidir.");
            usernameInput.focus();
            return false;
        }
        
      
        const passwordRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]).{8,}$/;
        if (!passwordRegex.test(password)) {
            alert("Şifre en az 8 karakter olmalı, en az 1 büyük harf, 1 küçük harf ve 1 özel karakter içermelidir.");
            passwordInput.focus();
            return false;
        }
        
     
        if (!termsCheckbox.checked) {
            alert("Lütfen Üyelik ve Satış Sözleşmesini onaylayınız.");
            termsCheckbox.focus();
            return false;
        }
        if (!privacyCheckbox.checked) {
            alert("Lütfen KVKK Aydınlatma Metnini onaylayınız.");
            privacyCheckbox.focus();
            return false;
        }
    
        return true; 
    }
    
    function registerbutton() {
    
        if (!validateForm()) {
    
            document.getElementById("registerbuton").disabled = false; 
            return;
        }
    
        document.getElementById("registerbuton").disabled = true;
        var data = $("#bregisterform").serialize();
        ...
  • 28-04-2025, 16:30:50
    #5
    Bunu kullan hocam validate.js
  • 28-04-2025, 16:50:47
    #6
    furukderki adlı üyeden alıntı: mesajı görüntüle
    function validateForm() {
    
        const form = document.getElementById("bregisterform");
        const usernameInput = form.elements["uname"];
        const passwordInput = form.elements["upass"];
      
        const username = usernameInput.value.trim();
        const password = passwordInput.value;
    
        
     
        const usernameRegex = /^(?=.*[a-zA-Z]).{4,}$/;
        if (!usernameRegex.test(username)) {
            alert("Kullanıcı adı en az 4 karakter olmalı ve harf içermelidir.");
            usernameInput.focus();
            return false;
        }
        
      
        const passwordRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]).{8,}$/;
        if (!passwordRegex.test(password)) {
            alert("Şifre en az 8 karakter olmalı, en az 1 büyük harf, 1 küçük harf ve 1 özel karakter içermelidir.");
            passwordInput.focus();
            return false;
        }
        
     
        if (!termsCheckbox.checked) {
            alert("Lütfen Üyelik ve Satış Sözleşmesini onaylayınız.");
            termsCheckbox.focus();
            return false;
        }
        if (!privacyCheckbox.checked) {
            alert("Lütfen KVKK Aydınlatma Metnini onaylayınız.");
            privacyCheckbox.focus();
            return false;
        }
    
        return true;
    }
    
    function registerbutton() {
    
        if (!validateForm()) {
    
            document.getElementById("registerbuton").disabled = false;
            return;
        }
    
        document.getElementById("registerbuton").disabled = true;
        var data = $("#bregisterform").serialize();
        ...
    Sayın furukderki
    formu hatalı veri girdiğimde uyarı veriyor ama tamamı doğru olduğunda işlem yapmıyor