Saya baru mengenal jQuery dan bertanya-tanya bagaimana cara menggunakannya untuk memvalidasi alamat email.
jquery
validation
email
DuH
sumber
sumber
Jawaban:
Anda dapat menggunakan javascript lama biasa untuk itu:
sumber
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
kevar regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,6})+$/;
untuk mendukung TLD yang lebih baru seperti .museum, dllFungsi jQuery untuk Memvalidasi Email
Saya benar-benar tidak suka menggunakan plugin, terutama ketika formulir saya hanya memiliki satu bidang yang perlu divalidasi. Saya menggunakan fungsi ini dan menyebutnya kapan pun saya perlu memvalidasi bidang formulir email.
dan sekarang untuk menggunakan ini
Bersulang!
sumber
emailReg.test($email);
emailReg.text("")
true
. Saya hanya akan fungsi ke deklarasi emailReg var maka ini:return ( $email.length > 0 && emailReg.test($email))
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
menjadivar emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,6})?$/;
Saya akan menggunakan plugin validasi jQuery karena beberapa alasan.
Anda divalidasi, oke, sekarang apa? Anda perlu menampilkan kesalahan, menangani menghapusnya ketika valid, menampilkan berapa banyak total kesalahan mungkin? Ada banyak hal yang bisa ditangani untuk Anda, tidak perlu menemukan kembali roda.
Juga, manfaat besar lainnya adalah di-host di CDN, versi saat ini pada saat jawaban ini dapat ditemukan di sini: http://www.asp.net/ajaxLibrary/CDNjQueryValidate16.ashx Ini berarti waktu muat yang lebih cepat untuk klien.
sumber
Lihatlah http: //bassistance.de/jquery-plugins/jquery-plugin-validation/ . Ini adalah plugin jQuery yang bagus, yang memungkinkan untuk membangun sistem validasi yang kuat untuk formulir. Ada beberapa contoh yang berguna di
sini. Jadi, validasi bidang email dalam bentuk akan terlihat seperti ini:Lihat dokumentasi metode Email untuk detail dan sampel.
sumber
x@x
(itu aneh) itu harus[email protected]
Bagaimana saya bisa memperbaikinya?$.validator.methods.email = function( value, element ) { return this.optional( element ) || //^.+@.+\..+$/.test( value ); }
sumber
: www.htmldrive.net
Sumber: htmldrive.com
sumber
Saya akan merekomendasikan Verimail.js , ia juga memiliki plugin JQuery .
Mengapa? Verimail mendukung yang berikut ini:
Jadi selain validasi, Verimail.js juga memberi Anda saran. Jadi, jika Anda mengetik email dengan TLD atau domain yang salah yang sangat mirip dengan domain email umum (hotmail.com, gmail.com, dll), itu bisa mendeteksi ini dan menyarankan koreksi.
Contoh:
Dan seterusnya..
Untuk menggunakannya dengan jQuery, cukup sertakan verimail.jquery.js di situs Anda dan jalankan fungsi di bawah ini:
Elemen pesan adalah elemen di mana pesan akan ditampilkan. Ini bisa semuanya mulai dari "Email Anda tidak valid" hingga "Apakah maksud Anda ...?".
Jika Anda memiliki formulir dan ingin membatasi sehingga tidak dapat dikirimkan kecuali emailnya valid, maka Anda dapat memeriksa status menggunakan fungsi getVerimailStatus seperti yang ditunjukkan di bawah ini:
Fungsi ini mengembalikan kode status integer sesuai dengan objek Comfirm.AlphaMail.Verimail.Status. Tetapi aturan umum adalah bahwa setiap kode di bawah 0 adalah kode yang menunjukkan kesalahan.
sumber
.getVerimailStatus()
tidak mengembalikan kode status numerik, hanya nilai stringsuccess
,error
atau mungkinpending
(tidak memverifikasi yang terakhir).ini disediakan oleh pengguna Luca Filosofi dalam jawaban ini
sumber
@
karakter dengan@
karakter lain . Seperti itu@@
, jika tidak, Anda akan mendapatkan galat build.Solusi yang sangat sederhana adalah dengan menggunakan validasi HTML5:
http://jsfiddle.net/du676/56/
sumber
Ini melakukan validasi yang lebih menyeluruh, misalnya memeriksa terhadap titik-titik berturut-turut dalam nama pengguna seperti john..doe @ example.com
Lihat memvalidasi alamat email menggunakan ekspresi reguler dalam JavaScript .
sumber
Seperti yang disebutkan orang lain, Anda dapat menggunakan regex untuk memeriksa apakah alamat email cocok dengan suatu pola. Tetapi Anda masih dapat memiliki email yang sesuai dengan pola tetapi saya masih bouncing atau email spam palsu.
memeriksa dengan regex
memeriksa dengan API validasi email nyata
Anda dapat menggunakan API yang akan memeriksa apakah alamat email itu asli dan saat ini aktif.
Untuk lebih lanjut lihat https://isitarealemail.com atau posting blog
sumber
Jika Anda memiliki formulir dasar, cukup buat jenis masukan email:
<input type="email" required>
Ini akan berfungsi untuk browser yang menggunakan atribut HTML5 dan kemudian Anda bahkan tidak perlu JS. Hanya menggunakan validasi email bahkan dengan beberapa skrip di atas tidak akan banyak membantu sejak:
[email protected] [email protected] [email protected]
dll ... Semua akan divalidasi sebagai email "nyata". Jadi Anda akan lebih baik memastikan bahwa pengguna harus memasukkan alamat email mereka dua kali untuk memastikan bahwa mereka memasukkan yang sama. Tetapi untuk memastikan bahwa alamat email itu asli akan sangat sulit tetapi sangat menarik untuk melihat apakah ada cara. Tetapi jika Anda hanya memastikan bahwa itu adalah email, tetap pada input HTML5.
CONTOH FIDDLE
Ini berfungsi di FireFox dan Chrome. Ini mungkin tidak berfungsi di Internet Explorer ... Tapi internet explorer sucks. Jadi ada itu ...
sumber
Validasi Email Javascript di MVC / ASP.NET
Masalah yang saya temui saat menggunakan jawaban Fabian, adalah mengimplementasikannya dalam tampilan MVC karena
@
simbol Razor . Anda harus menyertakan@
simbol tambahan untuk menghindarinya, seperti:@@
Untuk Menghindari Razor Di MVC
Saya tidak melihatnya di tempat lain di halaman ini, jadi saya pikir ini mungkin membantu.
EDIT
Berikut ini tautan dari Microsoft yang menjelaskan penggunaannya.
Saya baru saja menguji kode di atas dan mendapat js berikut:
Yang melakukan persis apa yang seharusnya dilakukan.
sumber
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
Apa yang terjadi pada kode Anda?@
simbol dalam regex di.cshtml
. Biasanya itu akan mencoba memperlakukan semuanya setelah@
simbol sebagai kode silet, tetapi ganda@@
mencegahnya.Gunakan Seperti Ini:
sumber
sumber
sumber
Mendarat di sini ..... berakhir di sini: https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address
... yang menyediakan regex berikut:
... yang saya temukan berkat catatan di plugin jQuery Validation readme: https://github.com/jzaefferer/jquery-validation/blob/master/README.md#reporting-an-issue
Jadi, versi terbaru dari @Fabian 's jawabannya akan:
Semoga itu bisa membantu
sumber
[email protected]
tetapi ingin itu salahGunakan ini
sumber
Bug ada di Jquery Validation Validation Plugin Hanya memvalidasi dengan @ untuk mengubahnya
ubah kode menjadi ini
sumber
Untuk mereka yang ingin menggunakan solusi yang dapat dikelola lebih baik daripada mengganggu RegEx tahun cahaya, saya menulis beberapa baris kode. Mereka yang ingin menyimpan byte, tetap pada varian RegEx :)
Ini membatasi:
Bagaimanapun, masih mungkin bocor, jadi pastikan Anda menggabungkan ini dengan validasi sisi server + verifikasi tautan email.
Ini JSFiddle
sumber
Anda dapat menggunakan Validasi jQuery dan, dalam satu baris HTML, Anda dapat memvalidasi email dan pesan validasi email:
type="email" required data-msg-email="Enter a valid email account!"
Anda dapat menggunakan parameter data-msg-email untuk menempatkan pesan yang dipersonalisasi atau jika tidak menempatkan parameter ini dan pesan default akan ditampilkan: "Silakan masukkan alamat email yang valid."
Contoh lengkap:
sumber
sumber
Referensi: SITUS WEB JQUERY UI
sumber
Anda harus melihat ini: jquery.validate.js , tambahkan ke proyek Anda
menggunakannya seperti ini:
sumber
Opsi sederhana dan lengkap lainnya:
sumber
Anda dapat membuat fungsi Anda sendiri
sumber
Yang disederhanakan yang baru saja saya buat, melakukan apa yang saya butuhkan. Hanya sebatas alfanumerik, titik, garis bawah, dan @.
Dibuat dengan bantuan orang lain
sumber
Regexp ini mencegah duplikasi nama domain seperti [email protected], ini hanya akan memungkinkan domain dua kali seperti [email protected]. Itu juga tidak memungkinkan statring dari nomor seperti [email protected]
Semua yang terbaik !!!!!
sumber
Validasi email saat mengetik, dengan penanganan kondisi tombol.
sumber
jika Anda menggunakan validasi jquery
Saya membuat metode
emailCustomFormat
yang digunakanregex
untuk format custm saya, Anda dapat mengubahnya untuk memenuhi persyaratan Andamaka kamu bisa menggunakannya seperti ini
regex ini menerima
[email protected]
,[email protected]
tapi tidak iniabc@abc
,[email protected]
,[email protected]
Semoga ini bisa membantu Anda
sumber