Caros amigos,
Estou fazendo um java script para um jsp e preciso verificar se um email digitado pelo usuario é valido. Nao precisa mandar um email de confirmação.
ex: blabla@blabla.com
Encontrei esse exemplo na internet mas creio que esta errado.
Alguem poderia me ajudar
var email = "aaaa@bbbb.com";
if (email.length == 2) {
var user = email[0];
var domain = email[1];
if (user.indexOf(".") != -1 && domain.indexOf(".") != -1) {
if (user.indexOf(".") == 0 || user.indexOf(".") == user.length-1) {
return false;
}
if (domain.indexOf(".") == 0 || domain.indexOf(".") == domain.length-1) {
return false;
}
var invalid = “()<>,;:’[]”;
for (var i = 0; i<invalid.length; i++) {
if (this.indexOf(invalid.charAt(i)) != -1) {
return false;
}
}
} else {
return false;
}
} else {
return false;
}
return true;
Tenta assim:
[code]String regex = "(\w+)@(\w+\.)(\w+)(\.\w+)*";
String email = "java@jairelton.com";
if(email.matches(regex)){
System.out.println("Oba é valido!");
}else{
System.out.println("Não é valido!");
}[/code]
Cara, da uma olhada no commos-validator… ai embaixo esta o js dele para verificar email…
function checkEmail(emailStr) {
if (emailStr.length == 0) {
return true;
}
var emailPat=/^(.+)@(.+)$/;
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
var validChars="\[^\\s" + specialChars + "\]";
var quotedUser="(\"[^\"]*\")";
var ipDomainPat=/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/;
var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(\\." + atom + ")*$");
var matchArray=emailStr.match(emailPat);
if (matchArray == null) {
return false;
}
var user=matchArray[1];
var domain=matchArray[2];
if (user.match(userPat) == null) {
return false;
}
var IPArray = domain.match(ipDomainPat);
if (IPArray != null) {
for (var i = 1; i <= 4; i++) {
if (IPArray[i] > 255) {
return false;
}
}
return true;
}
var domainArray=domain.match(domainPat);
if (domainArray == null) {
return false;
}
var atomPat=new RegExp(atom,"g");
var domArr=domain.match(atomPat);
var len=domArr.length;
if ((domArr[domArr.length-1].length < 2) ||
(domArr[domArr.length-1].length > 3)) {
return false;
}
if (len < 2) {
return false;
}
return true;
}