Pertanyaan Validasi Validasi Reguler Reguler JavaScript [duplikat]


Pertanyaan ini sudah memiliki jawaban di sini:

Kode ini selalu mengingatkan "null", yang berarti string tidak cocok dengan ekspresi.

var pattern = "^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$"; 

function isEmailAddress(str) {

    str = "azamsharp@gmail.com";      

    alert(str.match(pattern)); 
    return str.match(pattern);    

}

75
2018-06-02 16:40


asal


Jawaban:


Jika Anda mendefinisikan ekspresi reguler sebagai string, maka semua backslashes harus di-escape, jadi daripada '\ w' Anda harus memiliki '\\ w'.

Atau, definisikan sebagai ekspresi reguler:

var pattern = /^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$/; 

BTW, tolong jangan memvalidasi alamat email di sisi klien. Ekspresi reguler Anda terlalu sederhana untuk lulus untuk implementasi yang solid pula.

Lihat hal yang nyata di sini: http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html


61
2018-06-02 16:45



ini adalah yang saya gunakan di halaman saya.

http://www.zparacha.com/validate-email-address-using-javascript-regular-expression/

/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/


26
2018-06-27 23:55



Saya telah menggunakan fungsi ini untuk sementara waktu. ia mengembalikan nilai boolean.

// Validates email address of course.
function validEmail(e) {
    var filter = /^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/;
    return String(e).search (filter) != -1;
}

13
2017-08-31 20:46



Anda mungkin tertarik pertanyaan ini (atau yang ini), yang menyoroti fakta bahwa mengidentifikasi alamat email yang valid melalui regexps adalah masalah yang sangat sulit untuk dipecahkan (jika semuanya dapat dipecahkan)


11
2018-06-02 16:47



function isEmailAddress(str) {
   var pattern =/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
   return pattern.test(str);  // returns a boolean 
}

8
2018-04-24 09:59



dengan lebih sederhana

Ini dia :

var regexEmail = /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
var email = document.getElementById("txtEmail");

if (regexEmail.test(email.value)) {
    alert("It's Okay")
} else {
    alert("Not Okay")

}

semoga berhasil.


7
2017-12-06 14:12



Terkadang sebagian besar halaman pendaftaran dan login perlu memvalidasi email. Dalam contoh ini Anda akan belajar validasi email sederhana. Pertama mengambil input teks di html dan input tombol seperti ini

<input type='text' id='txtEmail'/>
<input type='submit' name='submit' onclick='checkEmail();'/>

<script>
    function checkEmail() {
        var email = document.getElementById('txtEmail');
        var filter = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
        if (!filter.test(email.value)) {
            alert('Please provide a valid email address');
            email.focus;
            return false;
        }
    }
</script>

Anda juga dapat memeriksa menggunakan ekspresi reguler ini

<input type='text' id='txtEmail'/>
<input type='submit' name='submit' onclick='checkEmail();'/>

<script>
    function checkEmail() {

        var email = document.getElementById('txtEmail');
        var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

        if (!filter.test(email.value)) {
            alert('Please provide a valid email address');
            email.focus;
            return false;
        }
    }
</script>

Periksa output demo ini yang dapat Anda periksa di sini

function checkEmail() {
        var email = document.getElementById('txtEmail');
        var filter = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
        if (!filter.test(email.value)) {
            alert('Please provide a valid email address');
            email.focus;
            return false;
        }
    }
<input type='text' id='txtEmail'/>
<input type='submit' name='submit' onclick='checkEmail();'/>

jika email tidak valid maka beri pesan peringatan, jika email valid maka tidak ada pesan peringatan. untuk info lebih lanjut tentang ekspresi reguler

https://www.w3schools.com/jsref/jsref_obj_regexp.asp

berharap ini akan membantu Anda


7
2017-09-23 17:07



Anda mungkin tertarik untuk melihat ini halaman itu daftar ekspresi reguler untuk memvalidasi alamat email yang mencakup kasus-kasus yang lebih umum.


5
2018-06-02 16:49



Validasi email mudah salah. Oleh karena itu saya akan merekomendasikan Anda untuk menggunakannya Verimail.js.

Mengapa?

  • Validasi sintaksis (menurut RFC 822).
  • Validasi IANA TLD
  • Saran ejaan untuk TLD dan domain email yang paling umum
  • Tolak domain akun email sementara seperti mailinator.com
  • dukungan plugin jQuery

Hal hebat lainnya dengan Verimail.js adalah ia memiliki saran ejaan untuk domain email yang paling umum dan TLD terdaftar. Ini dapat menurunkan rasio pentalan Anda secara drastis bagi pengguna yang salah mengeja nama domain umum seperti gmail.com, hotmail.com, aol.com, aso ..

Contoh:

  • test@gnail.com -> Apakah maksud Anda test@gmail.com?
  • test@hottmail.con -> Apakah maksud Anda test@hotmail.com?

Bagaimana cara menggunakannya?

Cara termudah adalah mengunduh dan menyertakan verimail.jquery.js di halaman Anda. Setelah itu, kaitkan Verimail dengan menjalankan fungsi berikut pada kotak input yang memerlukan validasi:

$("input#email-address").verimail({
    messageElement: "p#status-message"
});

Elemen pesan adalah elemen opsional yang menampilkan pesan seperti "Email tidak valid .." atau "Apakah maksud Anda test@gmail.com?". Jika Anda memiliki formulir dan hanya ingin melanjutkan jika email diverifikasi, Anda dapat menggunakan fungsi getVerimailStatus seperti yang ditunjukkan di bawah ini:

if($("input#email-address").getVerimailStatus() < 0){
    // Invalid email
}else{
    // Valid email
}

GetVerimailStatus-function mengembalikan kode integer sesuai dengan objek Comfirm.AlphaMail.Verimail.Status. Seperti yang ditunjukkan di atas, jika statusnya adalah nilai bilangan bulat negatif, maka validasi harus diperlakukan sebagai kegagalan. Tetapi jika nilainya lebih besar atau sama dengan 0, maka validasi harus diperlakukan sebagai sukses.


5
2017-10-09 16:17