10/10/2018, 00:01

[hỏi]kiểm tra email bằng Regular Expression

^w[wd_.]{2,29}w@[wd-]{3,32}.w{2,4}(.w{2,4}){0,1}$

đây là biểu thức mình viết, nó còn 1 sai xót khá nghiêm trọng là người ta có thể dùng 2 dấu ._ trở lên. các bạn giúp mình với
3do viết 02:11 ngày 10/10/2018
dùng 2 dấu ._ trở lên thì sao? nó vẫn đúng. Cái này để xót khá nhiều trường hợp. {2,29} không cần thiết
zoejoe viết 02:09 ngày 10/10/2018
Theo mình thì :
PHP Code:
eregi('^***91;a-zA-Z0-9.-_***93;+@***91;a-zA-Z0-9***93;+\.***91;a-zA-Z***93;+$',$email
Không biết có đựoc không ?
giahuy viết 02:06 ngày 10/10/2018
Được gửi bởi 3do
dùng 2 dấu ._ trở lên thì sao? nó vẫn đúng. Cái này để xót khá nhiều trường hợp. {2,29} không cần thiết
yahoo mail đâu cho phép dùng 2 dấu . hoặc _ trở lên, bạn vào đăng ký thử xem
3do viết 02:01 ngày 10/10/2018
Được gửi bởi giahuy
yahoo mail đâu cho phép dùng 2 dấu . hoặc _ trở lên, bạn vào đăng ký thử xem
chẳng lẽ cả thế giới điều dùng email yahoo sao?
giahuy viết 02:12 ngày 10/10/2018
sorry, mình quên nói là đang xét trường hợp email là yahoo mail
3do viết 02:02 ngày 10/10/2018
xét trường hợp phần trước của @. Chỉ có tối đa 1 dấu . và tối đa 1 dấu _. Vậy có tất cả 5 trường hợp

(\w+\.\w+|\w+_\w+|\w+\.\w*\_\w+|\w+_\w*\.\w+|\w+)
Bài liên quan
0