Saya menemukan banyak validasi email Regex di SO tetapi saya tidak menemukan yang akan menerima string kosong. Apakah ini hanya bisa dilakukan melalui Regex? Hanya menerima string kosong atau email? Saya ingin memiliki ini di Regex saja.
127
^
, di mana secara efektif Anda mencari email atau tidak sama sekali di tengah-tengah string. Untuk ini(email_regex)?
lebih cocok.^$
itu tidak berfungsi, tetapi^(?!.)
tidak: [^
mulai string,(?!)
lookahead negatif,.
karakter apa pun - tidak termasuk linefeed]cocok dengan string atau email kosong
mencocokkan string kosong atau email tetapi juga mencocokkan jumlah spasi kosong
lihat lebih lanjut tentang regex yang cocok dengan email itu sendiri:
http://www.regular-expressions.info/email.html
sumber
Jawaban di atas berfungsi ($ untuk kosong), tetapi saya baru saja mencoba ini dan itu juga berfungsi untuk membiarkannya kosong seperti:
Hal yang sama dalam urutan terbalik
sumber
Jangan mencocokkan email dengan regex. Ini sangat jelek dan panjang dan rumit dan parser regex Anda mungkin tidak bisa mengatasinya. Cobalah untuk menemukan rutin perpustakaan untuk mencocokkannya. Jika Anda hanya ingin menyelesaikan masalah praktis pencocokan alamat email (yaitu, jika Anda ingin kode yang salah yang terjadi pada (biasanya) berfungsi), gunakan tautan regular-expressions.info yang dikirimkan oleh orang lain.
Adapun string kosong,
^$
disebutkan oleh banyak orang dan akan berfungsi dengan baik.sumber
ini akan menyelesaikan, itu akan menerima string kosong atau membalas id email
sumber
Saya lebih suka
/^\s+$|^$/gi
mencocokkan ruang kosong dan kosong.sumber
Jika Anda menggunakannya di dalam rel - validasi activerec Anda dapat mengatur
allow_blank: true
Sebagai:
sumber