正则表达式注解校验手机号

/**
* 公司名称
*/
@Pattern(regexp="^[\u4e00-\u9fa5_a-zA-Z0-9]+$",message="公司名称只能输入中文字符 字母、数字")
		@ApiModelProperty(value = "公司名称")
		private String name;

有时系统对用户名的命名有更多要求,比如用户名必须要有一个小写字母,一个大写字母和一个数字,并且是6-20位,正则表达式如下:

   @Pattern(regexp = "^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[A-Za-z0-9]{6,20}$", message = "用户名错误")

正则表达式

1.1 数字校验

1 整数或者小数:"^[0-9]+\.{0,1}[0-9]{0,2}$"
2 只能输入数字:"^[0-9]*$"
3 只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"
4 只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"
5 只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"
6 只能输入非零的正整数:"^\+?[1-9][0-9]*$"
7 只能输入非零的负整数:"^^-[1-9]+[0-9]*$"

1.2 字符串校验

只能输入长度为3的字符:"^.{3}$"。
只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"
只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"
只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"
只能输入由数字和26个英文字母组成的字符串:"^[A-Za-z0-9]+$"
只能输入由数字、26个英文字母或者下划线组成的字符串:"^\w+$"

1.3 月份时间校验

验证一年的12个月:"^(0?[1-9]|1[0-2])$"    //格式为:"01"~"09"和"1"~"12"。
验证一个月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"  //格式为;"01"~"09"和"1"~"31"。

1.4 Email校验

   由于各种域名邮箱的多样性,需要特殊情况特殊对待,限制可以做的严格也可以宽松
举例:zhangsan_123@cetc.com.cn

分析邮件名称部分:
   字母和数字表示为A-Za-z0-9 
   下划线表示为_
   中划线表示为-
   由于名称是由若干个字母、数字、下划线和中划线组成,所以需要用到+表示多次出现
   通过分析得出邮件名称部分表达式为[a-zA-Z0-9_-]+

分析域名部分:
   一般域名的规律为“[N级域名][三级域名.]二级域名.顶级域名”,比如"qq.com"、"www.qq.com"、"mp.weixin.qq.com"、"12-34.com.cn",分析可得域名类似"** .** .** .**"组成。
   "**"部分可以表示为[a-zA-Z0-9_-]+
   ".**"部分可以表示为\.[a-zA-Z0-9_-]+
   多个".**"可以表示为(\.[a-zA-Z0-9_-]+)+
   综上所述,域名部分可以表示为[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+
   
最终表达式: 
 我们用@符号将邮箱的名称和域名拼接起来,因此完整的邮箱表达式为 
  ^[A-Za-z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$

验证Email: "^[A-Za-z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$"

1.5 汉字校验

只能输入汉字:"^[\u4e00-\u9fa5]{0,}$"

匹配中文字符的正则表达式:"[\u4e00-\u9fa5]"

1.6 联系电话校验

联系电话:@Pattern(regexp = "^[\\d\\*]{7,12}$", message = "联系电话输入有误")
由于区号分为3位和四位的,然后座机号码又分为7位和8位的,所以这里校验的长度是7-12位,并且这里添加了*表示脱敏的手机号仍然可以通过校验。

1.7 密码校验

密码:长度为6-32位,并且必须包含数字、字母、特殊符号中的至少两种:
@Pattern(regexp = "^(?=.*[a-zA-Z0-9].*)(?=.*[a-zA-Z.!@#$%^&*].*)(?=.*[0-9.!@#$%^&*].*).{6,32}$", message = "密码至少包含数字,字母和符号的两种")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 我可以回答这个问题。PowerBuilder 可以使用正则表达式校验手机号码,但也可以使用其他方法,如使用字符串函数和条件语句来实现。具体实现方式可以参考 PowerBuilder 的官方文档或者其他相关资料。 ### 回答2: 在PowerBuilder中,可以使用非正则表达式校验手机号码。具体步骤如下: 首先,我们需要定义一个校验手机号码的函数。可以创建一个自定义函数来实现这一功能。例如,我们可以创建一个名为`isValidPhoneNumber`的函数。 在函数中,我们可以使用以下步骤来校验手机号码: 1. 首先,我们需要判断手机号码的长度是否为11位。如果不是,那么该手机号码是无效的。 2. 其次,我们需要判断手机号码是否以数字1开头。在中国,手机号码都以数字1开头。 3. 然后,我们需要判断手机号码的剩余10位是否都是数字。我们可以使用`IsNumber`函数来判断字符串是否为数字。 4. 最后,我们可以返回一个布尔值来表示手机号码是否有效。如果满足以上条件,我们可以返回true,否则返回false。 在应用程序中,我们可以调用这个函数来校验手机号码。例如,我们可以在用户输入手机号码后,点击校验按钮时调用`isValidPhoneNumber`函数来判断手机号码的有效性。 通过以上步骤,我们可以在PowerBuilder中使用非正则表达式校验手机号码。这种方法相对简单,并且可以满足一般的手机号码校验需求。使用这种方法可以避免使用复杂的正则表达式,提高代码的可读性和可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值