我有以下正则表达式:
\+?[0-9\.,()\-\s]+$
这使得:
可选 + 开头
然后是数字、点、逗号、圆括号、破折号和空格。
除此之外,我需要确保数字和加号(如果存在)的长度在 9 到 15 之间(所以我不计算除 + 符号之外的任何特殊字符)。
这最后一个条件是我遇到的问题。
有效输入:
+358 (9) 1234567
+3 5 8.9,1-2(3)4..5,6.7(25 个字符但只有 12 个字符(数字和加号))
输入无效:
+3 5 8.9,1-2(3)4..5,6.777777777(33个字符,只有20个字符(数字和加号)太多了)
如果可能,使用正则表达式很重要,因为它在 javax.validation.constraints.Pattern 注释中使用为:
@Pattern(regexp = REGEX) private String number;
我的正则表达式是我在这里寻找的。
如果无法提供正则表达式,则意味着我需要重写我的实体验证实现。那么是否可以将此类条件添加到正则表达式中,或者我是否需要一个函数来验证此类模式?
侃侃尔雅
慕后森
杨魅力
相关分类