Reputation: 3840
I am using GWT and want to so validation of email using the java code i.e. using the regular expressions,but when I am using the code:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.ArosysLogin.client;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class EmailValidator{
private Pattern pattern;
private Matcher matcher;
private static final String EMAIL_PATTERN =
"^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
public EmailValidator(){
pattern = Pattern.compile(EMAIL_PATTERN);
}
/**
* Validate hex with regular expression
* @param hex hex for validation
* @return true valid hex, false invalid hex
*/
public boolean validate(final String hex){
matcher = pattern.matcher(hex);
return matcher.matches();
}
}
.It is giving me run time error in the build.xml.Can you please tell me why this is occurring and what is its solution.
Upvotes: 4
Views: 4606
Reputation: 388
Try something like this:
if(email.matches("^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$")){
GWT.log("Email Address Valid");
}else{
GWT.log("Email Address Invalid");
valid = false;
}
Upvotes: 1
Reputation: 152
This is code is for validating email id. I have checked it. It's working fine in GWT.
String s ="[email protected]";
Boolean b = s.matches(
"^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$");
System.out.println("email is " + b);
Upvotes: 6
Reputation: 113
According to the documentation, it should not work. But I accidentially found that you can also use java.lang.String's matches method.
So, you could do this:
public boolean validate(final String hex){
return ((hex==null) || hex.matches(EMAIL_PATTERN));
}
Upvotes: 1
Reputation: 80340
Java regex is not available in GWT. You should use GWT's RegExp.
Upvotes: 10