[英]Validation in GWT
我正在使用 GWT 并希望使用 java 代码(即使用正则表达式)验证 email,但是当我使用代码时:
/*
* 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();
}
}
.它在构建中给了我运行时错误。xml。你能告诉我为什么会发生这种情况以及它的解决方案是什么。
Java 正则表达式在 GWT 中不可用。 您应该使用GWT 的 RegExp 。
这是用于验证 email id 的代码。 我已经检查过了。 它在 GWT 中运行良好。
String s ="survi@gmail.com";
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);
尝试这样的事情:
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;
}
根据文档,它不应该工作。 但是我偶然发现你也可以使用java.lang.String的matches方法。
所以,你可以这样做:
public boolean validate(final String hex){
return ((hex==null) || hex.matches(EMAIL_PATTERN));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.