分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

jQuery实现18位身份证输入隔位添加空格及格式验证

发布时间:2023-09-06 01:41责任编辑:彭小芳关键词:jQuery

jQuery实现身份证输入添加空格

表单验证身份证输入,并且输入时前6位添加一个空格,中间8位后添加一个空格,及身份证格式验证
参考:基于jquery实现的银行卡号每隔4位自动插入空格的实现代码
参考网址: http://www.jb51.net/article/97966.html
源码代码如下:
1
<!DOCTYPE html>
2
<html lang="en">
3
<head>
4
 <meta charset="UTF-8">
5
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
7
 <title>Document</title>
8
 <script type="text/javascript" src="js/jquery-3.2.1.js"></script>
9
 <style>
10
  .box {
11
   width: 500px;
12
   text-align: center;
13
   margin: 0 auto;
14
  ?}
15
16
  .box button {
17
   margin: 20px auto;
18
  ?}
19
20
  .box .error {
21
   color: red;
22
  ?}
23
 </style>
24
</head>
25
<body>
26
 <div >
27
  <form>
28
   <label for="card">身份证号:</label>
29
   <input type="text" name="card"  value="" maxlength="20">
30
   <span ></span>
31
   <br>
32
   <button type="button">提交</button>
33
  </form>
34
 </div>
35
</body>
36
<script type="text/javascript">
37
 $(function () {
38
  //键盘弹起
39
  $(‘#card‘).on(‘keyup‘, function (e) {
40
   if ((e.which >= 48 && e.which <= 57) ||
41
    ?(e.which >= 96 && e.which <= 105) || e.which == 88) {
42
    $(‘.error‘).text(‘‘);
43
    //获取当前光标的位置
44
    var caret = this.selectionStart;
45
    //获取当前的value
46
    var value = this.value;
47
    //从左边沿到坐标之间的空格数
48
    var sp = (value.slice(0, caret).match(/\s/g) || []).length;
49
    //去掉所有空格
50
    var nospace = value.replace(/\s/g, ‘‘);
51
    //重新插入空格
52
    var curVal = this.value = nospace.replace(/(^(\d{6})|(\d{8}))(?=[^\s])/g, "$1 ").trim();
53
    //从左边沿到原坐标之间的空格数
54
    var curSp = (curVal.slice(0, caret).match(/\s/g) || []).length
55
    //修正光标位置
56
    this.selectionEnd = this.selectionStart = caret + curSp - sp
57
   ?} else {
58
    $(‘.error‘).text(‘只能输入数字或X、x‘);
59
   ?}
60
  ?});
61
  //失去焦点
62
  $("#card").on(‘blur‘, function () {
63
   //验证身份证号
64
   var value = $(this).val();
65
   var val = value.replace(/\s/ig, ""); //去除空格
66
   console.log(val);
67
   var pattern = /(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
68
   if (pattern.test(val) == false) {
69
    $(‘.error‘).text(‘身份证号码格式不正确‘);
70
   ?} else {
71
    $(‘.error‘).text();
72
   ?}
73
  ?});
74
75
  $("button").on(‘click‘, function () {
76
   var value = $(‘#card‘).val();
77
   var card = value.replace(/\s/ig, ""); //去除空格
78
   if (card == ‘‘) {
79
    $(‘.error‘).text(‘身份证号码不能为空‘);
80
   ?} else {
81
    alert(card);
我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved