I have input name="email"
and a button
on the page.
How do I validate this input in live for a valid email address? And add some class for a button, class "active" if it is valid or "inactive".
This is a small task, so I don't want to use a plugins.
Thanks
I have input name="email"
and a button
on the page.
How do I validate this input in live for a valid email address? And add some class for a button, class "active" if it is valid or "inactive".
This is a small task, so I don't want to use a plugins.
Thanks
Share Improve this question asked Apr 25, 2011 at 13:07 JasperJasper 5,23813 gold badges36 silver badges42 bronze badges 3- 1 The fact that it is a small task is no reason not to use a well-tested plugin that will save you time. docs.jquery./Plugins/… – Chris Shouts Commented Apr 25, 2011 at 13:16
- @Chris - using a plugin to validate a single field (that doesn't need validation anyway) doesn't make sense. @Steve - the best way to validate an email address is to send an email to it. Using a regular expression (or any other kind of parsing) is unreliable and not worth doing. – RobG Commented Apr 25, 2011 at 14:02
- Using jQuery Validade plugin is very easy docs.jquery./Plugins/validation – msmafra Commented Apr 25, 2011 at 15:50
3 Answers
Reset to default 7I usually use this javascript function to validate in frontend:
function validateEmail(email)
{
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
return email.match(re)
}
it returns true or false. But anyway, you shouldn't usually only validate sensitive data in the frontend, but also on the server side.
$('#email').bind('keyup', function(){
if(this.value.test([REGULAR_EXPRESSION])
//doStuff -- add active class
else
//doOtherStuff -- add inactive class
});
replace [REGULAR_EXPRESSION] with one of the regular expressions found here: http://www.regular-expressions.info/email.html
i used this for mail validation javascript mail code
function ValidateEmail(inputText)
{
var mailformat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
if(inputText.value.match(mailformat))
{
document.form1.text1.focus();
return true;
}
else
{
alert("You have entered an invalid email address!");
document.form1.text1.focus();
return false;
}
}