添加电话校验
This commit is contained in:
parent
4939e31e71
commit
788e9ca239
@ -0,0 +1,33 @@
|
|||||||
|
package cn.lili.common.validation;
|
||||||
|
|
||||||
|
import cn.lili.common.validation.impl.MobileValidator;
|
||||||
|
import cn.lili.common.validation.impl.PhoneValidator;
|
||||||
|
|
||||||
|
import javax.validation.Constraint;
|
||||||
|
import javax.validation.Payload;
|
||||||
|
import java.lang.annotation.Documented;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
import static java.lang.annotation.ElementType.*;
|
||||||
|
import static java.lang.annotation.RetentionPolicy.RUNTIME;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电话号码校验注解
|
||||||
|
*
|
||||||
|
* @author Bulbasaur
|
||||||
|
*/
|
||||||
|
@Target({METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER})
|
||||||
|
@Retention(RUNTIME)
|
||||||
|
@Documented
|
||||||
|
@Constraint(validatedBy = {MobileValidator.class})
|
||||||
|
public @interface Mobile {
|
||||||
|
|
||||||
|
String regexp() default "";
|
||||||
|
|
||||||
|
String message() default "电话号码格式不正确";
|
||||||
|
|
||||||
|
Class<?>[] groups() default {};
|
||||||
|
|
||||||
|
Class<? extends Payload>[] payload() default {};
|
||||||
|
}
|
@ -0,0 +1,35 @@
|
|||||||
|
package cn.lili.common.validation.impl;
|
||||||
|
|
||||||
|
import cn.lili.common.validation.Mobile;
|
||||||
|
import cn.lili.common.validation.Phone;
|
||||||
|
|
||||||
|
import javax.validation.ConstraintValidator;
|
||||||
|
import javax.validation.ConstraintValidatorContext;
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
|
||||||
|
public class MobileValidator implements ConstraintValidator<Mobile, String> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) {
|
||||||
|
Pattern p1 = null,p2 = null;
|
||||||
|
Matcher m = null;
|
||||||
|
boolean b = false;
|
||||||
|
p1 = Pattern.compile("^[0][1-9]{2,3}-[0-9]{5,10}$"); // 验证带区号的
|
||||||
|
p2 = Pattern.compile("^[1-9]{1}[0-9]{5,8}$"); // 验证没有区号的
|
||||||
|
if(value.length() >9)
|
||||||
|
{ m = p1.matcher(value);
|
||||||
|
b = m.matches();
|
||||||
|
}else{
|
||||||
|
m = p2.matcher(value);
|
||||||
|
b = m.matches();
|
||||||
|
}
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initialize(Mobile constraintAnnotation) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user