2022-1-12身份证号进行校验

1.entity

实体类增加一个card字段,数据库也要增加。

 @ApiModelProperty(value = "身份证号")
 @Pattern(regexp ="/^[1-9]\\d{5}(18|19|20)\\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$/")
 private String card;

2.sql语句

<!--查询card-->
<select id="selectByCard" parameterType="string" resultMap="SysUserMap">
    select  *  from sys_user where card=#{card}
</select>

3.service

// 验证身份证号不为空和唯一性
if (Strings.isBlank(sysUser.getCard())) {
     return "身份证号不能为空!";
   } else {
      SysUser sysUser1 = selectByCard(sysUser.getCard());
            if (sysUser1 != null) {
                return "身份证号已存在";
            }
        }

4.前端页面

<input type="text" name="card" id="card" lay-verify="required|card" lay-verType="tips" autocomplete="off" placeholder="请输入身份证"
  length="18"/>
card: function (value,item) {
   var p = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
       if (!p.test(value)){
             return '身份证号不正确,请重新输入';
                }
            },

总结:
1.身份证号校验

/^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/

2.前端和后端校验的正则表达式一样,后端可以写在实体类上。

@Pattern(regexp ="/^[1-9]\\d{5}(18|19|20)\\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$/")
 private String card;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值