Jestem nowy w jQuery i zastanawiałem się, jak go użyć do sprawdzania poprawności adresów e-mail.
jquery
validation
email
DuH
źródło
źródło
Odpowiedzi:
Możesz do tego użyć zwykłego starego javascript:
źródło
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
na,var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,6})+$/;
aby obsługiwać nowsze TLD, takie jak .museum itp.Funkcja jQuery do sprawdzania poprawności wiadomości e-mail
Naprawdę nie lubię korzystać z wtyczek, szczególnie gdy mój formularz ma tylko jedno pole, które należy zweryfikować. Korzystam z tej funkcji i wywołuję ją za każdym razem, gdy potrzebuję zweryfikować pole formularza e-mail.
i teraz go użyć
Twoje zdrowie!
źródło
emailReg.test($email);
emailReg.text("")
true
. Chciałbym po prostu funkcja aż do deklaracji emailReg var, a następnie:return ( $email.length > 0 && emailReg.test($email))
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
navar emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,6})?$/;
Chciałbym użyć wtyczki sprawdzania poprawności jQuery z kilku powodów.
Zatwierdziłeś, ok świetnie, a teraz co? Musisz wyświetlić błąd, poradzić sobie z usuwaniem, gdy jest poprawny, wyświetlając, ile błędów może być łącznie? Jest wiele rzeczy, z którymi może sobie poradzić, nie trzeba od nowa wymyślać koła.
Kolejną ogromną korzyścią jest to, że jest on hostowany w sieci CDN, aktualną wersję w chwili udzielenia odpowiedzi można znaleźć tutaj: http://www.asp.net/ajaxLibrary/CDNjQueryValidate16.ashx Oznacza to szybsze czasy ładowania dla klienta.
źródło
Spójrz na http: //bassistance.de/jquery-plugins/jquery-plugin-validation/ . To ładna wtyczka jQuery, która pozwala zbudować potężny system sprawdzania poprawności formularzy. Istnieje kilka próbek Przydatne
tutaj. Tak więc walidacja pola e-mail w formie będzie wyglądać tak:Zobacz dokumentację metody e-mail, aby uzyskać szczegółowe informacje i przykłady.
źródło
x@x
(to dziwne) musi.[email protected]
Jak mogę to naprawić?$.validator.methods.email = function( value, element ) { return this.optional( element ) || //^.+@.+\..+$/.test( value ); }
źródło
: www.htmldrive.net
Źródło: htmldrive.com
źródło
Polecam Verimail.js , ma również wtyczkę JQuery .
Dlaczego? Verimail obsługuje następujące elementy:
Oprócz weryfikacji Verimail.js zawiera także sugestie. Więc jeśli wpiszesz wiadomość e-mail z niewłaściwą TLD lub domeną, która jest bardzo podobna do wspólnej domeny e-mail (hotmail.com, gmail.com itp.), Może to wykryć i zasugerować poprawkę.
Przykłady:
I tak dalej..
Aby używać go z jQuery, po prostu dołącz verimail.jquery.js na swojej stronie i uruchom poniższą funkcję:
Element wiadomości to element, w którym zostanie wyświetlona wiadomość. Może to być wszystko, od „Twój adres e-mail jest nieprawidłowy” do „Czy miałeś na myśli ...?”.
Jeśli masz formularz i chcesz go ograniczyć, aby nie można go było przesłać, chyba że wiadomość e-mail jest poprawna, możesz sprawdzić status za pomocą funkcji getVerimailStatus, jak pokazano poniżej:
Ta funkcja zwraca kod statusu liczby całkowitej zgodnie z obiektem Comfirm.AlphaMail.Verimail.Status. Ale ogólna zasada jest taka, że wszelkie kody poniżej 0 są kodami wskazującymi błędy.
źródło
.getVerimailStatus()
nie zwraca numeryczne kody stanu, tylko ciąg znakówsuccess
,error
lub ewentualniepending
(nie sprawdza ostatni).to zostało dostarczone przez użytkownika Luca Filosofi w tej odpowiedzi tej odpowiedzi
źródło
@
postaci z inną@
postacią. W@@
przeciwnym razie pojawi się błąd kompilacji.Bardzo prostym rozwiązaniem jest użycie sprawdzania poprawności HTML5:
http://jsfiddle.net/du676/56/
źródło
Dokonuje to dokładniejszej weryfikacji, na przykład sprawdza względem kolejnych kropek w nazwie użytkownika, takich jak john..doe @ example.com
Sprawdź poprawność adresu e-mail za pomocą wyrażenia regularnego w JavaScript .
źródło
Jak wspomnieli inni, możesz użyć wyrażenia regularnego, aby sprawdzić, czy adres e-mail pasuje do wzorca. Ale nadal możesz mieć wiadomości e-mail pasujące do wzorca, ale moje nadal odbijają lub są fałszywymi wiadomościami spamowymi.
sprawdzanie za pomocą wyrażenia regularnego
sprawdzanie za pomocą prawdziwego interfejsu API do sprawdzania poprawności wiadomości e-mail
Możesz użyć interfejsu API, który sprawdzi, czy adres e-mail jest prawdziwy i czy jest aktualnie aktywny.
Aby uzyskać więcej informacji, zobacz https://isitarealemail.com lub post na blogu
źródło
Jeśli masz podstawową formę, po prostu wprowadź typ wiadomości e-mail:
<input type="email" required>
Będzie to działać w przeglądarkach, które używają atrybutów HTML5, a wtedy nawet nie potrzebujesz JS. Samo sprawdzanie poprawności wiadomości e-mail, nawet w przypadku niektórych powyższych skryptów, niewiele zrobi, ponieważ:
[email protected] [email protected] [email protected]
etc ... Wszystkie będą sprawdzane jako „prawdziwe” e-maile. Lepiej więc upewnić się, że użytkownik musi wprowadzić swój adres e-mail dwa razy, aby upewnić się, że podał ten sam adres. Ale zagwarantowanie, że adres e-mail jest prawdziwy, byłoby bardzo trudne, ale bardzo interesujące, aby sprawdzić, czy istnieje droga. Ale jeśli tylko upewniasz się, że jest to wiadomość e-mail, trzymaj się wejścia HTML5.
PRZYKŁAD FIDDLE
Działa to w FireFox i Chrome. To może nie działać w Internet Explorerze ... Ale Internet Explorer jest do bani. Więc jest jeszcze ...
źródło
Sprawdzanie poprawności wiadomości e-mail JavaScript w MVC / ASP.NET
Problem, na jaki natrafiłem podczas korzystania z odpowiedzi Fabiana, polega na implementacji jej w widoku MVC z powodu
@
symbolu Razor .@
Aby go uniknąć, musisz dołączyć dodatkowy symbol:@@
Aby uniknąć Razor In MVC
Nie widziałem go gdzie indziej na tej stronie, więc pomyślałem, że może być pomocny.
EDYTOWAĆ
Oto link od Microsoft opisujący jego użycie.
Właśnie przetestowałem powyższy kod i otrzymałem następujące js:
Który robi dokładnie to, co powinien.
źródło
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
Co się dzieje z twoim kodem?@
symbol w wyrażeniu regularnym w.cshtml
. Normalnie próbowałby traktować wszystko po@
symbolu jako kod maszynki do golenia, ale podwójne@@
zapobiega temu.Użyj w ten sposób:
źródło
źródło
źródło
Wylądował tutaj ..... skończył tutaj: https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address
... który zapewnił następujące wyrażenie regularne:
... które znalazłem dzięki notatce w pliku Readme wtyczki walidacji jQuery: https://github.com/jzaefferer/jquery-validation/blob/master/README.md#reporting-an-issue
Tak, zaktualizowana wersja @Fabian jest odpowiedzią byłoby:
Mam nadzieję, że to pomaga
źródło
[email protected]
ale chciałbym, aby była fałszywaUżyj tego
źródło
Błąd znajduje się we wtyczce sprawdzania poprawności Jquery Sprawdzanie poprawności wymaga tylko @, aby to zmienić
zmień kod na to
źródło
Dla tych, którzy chcą użyć lepszego w utrzymaniu rozwiązania niż zakłócające, długie, długie lata dopasowania RegEx, napisałem kilka wierszy kodu. Ci, którzy chcą zaoszczędzić bajty, trzymaj się wariantu RegEx :)
Ogranicza to:
W każdym razie nadal istnieje możliwość wycieku, więc upewnij się, że łączysz to z weryfikacją po stronie serwera + weryfikacją linku e-mail.
Oto JSFiddle
źródło
Możesz użyć jQuery Validation i, w jednym wierszu HTML, możesz sprawdzić poprawność wiadomości e-mail i wiadomości sprawdzającej poprawność wiadomości e-mail:
type="email" required data-msg-email="Enter a valid email account!"
Możesz użyć parametru data-msg-email , aby umieścić spersonalizowaną wiadomość lub w inny sposób nie umieszczać tego parametru, a wyświetli się komunikat domyślny: „Wprowadź poprawny adres e-mail”.
Pełny przykład:
źródło
źródło
Referencje: STRONA INTERNETOWA JQUERY UI
źródło
powinieneś zobaczyć to: jquery.validate.js , dodaj go do swojego projektu
używając tego w ten sposób:
źródło
Kolejna prosta i kompletna opcja:
źródło
Możesz stworzyć własną funkcję
źródło
Uproszczony, który właśnie stworzyłem, robi to, czego potrzebuję. Ograniczyłem to tylko alfanumeryczne, kropka, podkreślenie i @.
Wykonane z pomocą innych osób
źródło
To wyrażenie regularne zapobiega duplikowaniu nazw domen, takich jak [email protected], pozwoli tylko na domenę dwa razy, jak [email protected]. Nie zezwala również na rejestrowanie z numeru takiego jak [email protected]
Wszystkiego najlepszego !!!!!
źródło
Sprawdź poprawność wiadomości e-mail podczas pisania z obsługą stanu przycisku.
źródło
jeśli używasz sprawdzania poprawności jquery
Stworzyłem metodę
emailCustomFormat
używanąregex
dla mojego formatu klienta, który możesz zmienić, aby spełnić Twoje wymaganiawtedy możesz użyć tego w ten sposób
to wyrażenie regularne akceptuje
[email protected]
,[email protected]
ale nie toabc@abc
,[email protected]
,[email protected]
mam nadzieję, że to ci pomoże
źródło