Ik probeer de invoer voor e-mail via JQuery te valideren:
Mijn JQuery
<script>
/* <![CDATA[ */
jQuery(function(){
$( ".mail" ).keyup(function() {
var VAL = $(this).val();
var email = new RegExp(^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$);
if(VAL.test(email)){
alert('Great, you entered an E-Mail-address');
}
});
});
/* ]]> */
</script>
Dit wordt niet gewaarschuwd, ook al heb ik [email protected] ingevoerd.
Ik heb .test() en .match() al geprobeerd, wat heb ik verkeerd gedaan?
Antwoord 1, autoriteit 100%
- Geef een tekenreeks door aan RegExp of maak een regex met behulp van de
//
-syntaxis - Bel
regex.test(string)
aan, nietstring.test(regex)
Dus
jQuery(function () {
$(".mail").keyup(function () {
var VAL = this.value;
var email = new RegExp('^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$');
if (email.test(VAL)) {
alert('Great, you entered an E-Mail-address');
}
});
});
Antwoord 2, autoriteit 14%
Verander het in dit:
var email = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
Dit is een letterlijke reguliere expressie die de vlag i
doorgeeft, wat betekent dat deze niet hoofdlettergevoelig is.
Houd er rekening mee dat validatie van e-mailadressen moeilijkis (er is een reguliere expressie van 4 of 5 pagina’s aan het einde van Mastering Regular Expressions die dit aantoont) en uw expressie zal zeker niet alle geldige e- e-mailadressen.