JS实现短信倒计时及姓名、身份证、手机号正则验证

作者:代码拾荒时间:2026-10-21 21:48:41浏览:430

本文介绍如何使用JavaScript实现短信发送倒计时功能,并结合正则表达式对真实姓名、身份证号及手机号进行前端校验。内容涵盖15位与18位身份证号的匹配规则,以及手机号格式验证逻辑,旨在为需要调用实名认证接口的场景提供严格的前端数据把关方案。

短信发送倒计时功能实现

本文分享了一段JavaScript实现短信发送倒计时的完整代码,供读者参考学习。

短信发送倒计时功能实现


<div class="login">
        <form action="" method="post">
          <div class="login-box">
            <p class="pho-0 pho">
              <img class="" src="img/icon_002.png">
              <input type="number" placeholder="请输入手机号" class="phnum font15" />
            </p>
            <p class="pho-0">
              <img src="img/icon_001.png">
              <input type="number" placeholder="请输入验证码" class="psd font15 yzm" /><span class="famsg font14" id="famsg">点击获取</span>
            </p>
          </div>
          <input type="submit" value="立即注册" class="sbm font15" />
        </form>
        <h3 class="tel font16 ">客服电话:<a class="telpho" href="tel:400-0268-8888" rel="external nofollow" >400-0268-8888</a></h3>
      </div>

js code


$(function() {
        var phone_num = /^1\d{10}$/;
        var flag = 1; //短信发送时标志位
        $("#famsg").click(function() {
          if($(".phnum").val() == "") {
            alert("请输入电话号码!");
            return false;
          };
          if(!phone_num.test($(".phnum").val().trim())) {
            alert("电话号码有误,请输入11位手机号!");
            return false;
          };
          if(flag == 1) {
            var i = 59;
            flag = 0;
            var n = setInterval(function() {
              var j = i + 's';
              $('#famsg').html(j);
              i--;
              if(i < -1) {
                clearInterval(n);
                flag = 1;
                $('#famsg').html('重新获取').prop("disabled", false);
              }
            }, 1000);
          }
        })
      });

前端实名认证正则验证逻辑

js验证真实姓名与身份证号,手机号

在近期项目中,由于实名认证接口调用成本远高于短信验证码,因此必须对调用条件进行严格的前端校验。这包括使用JavaScript验证用户输入的真实姓名以及身份证号码的合法性。

进入正题

真实姓名JS验证

1.js验证真实姓名

JavaScript验证真实姓名主要利用Unicode字符范围进行匹配。考虑到中国公民姓名长度通常在2到4个字符之间,正则表达式中重复匹配次数设置为{2,4}次。


 var regName =/^[\u4e00-\u9fa5]{2,4}$/;
 if(!regName.test(name)){
   alert('真实姓名填写有误');
   return false;
 }

身份证号JS验证

2.js验证身份证号

JavaScript验证中国身份证号时,需区分一代身份证(15位纯数字)和二代身份证(18位)。二代身份证最后一位校验位可能是数字,也可能是大写'X'或小写'x'。因此,合法的身份证号格式包含四种情况:a. 15位数字;b. 18位数字;c. 前17位为数字,第18位为'X';d. 前17位为数字,第18位为'x'。


 var regIdNo = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
 if(!regIdNo.test(idNo)){
   alert('身份证号填写有误');
   return false;
 }

详细版身份证验证:15位和18位身份证JS校验的简单实例

手机号JS验证

3.js验证手机号

中国手机号不包含区号(+86)时,均为11位数字,且首位固定为1。第二位数字目前尚未出现1或2的情况,因此在正则验证中需确保符合这一规律。


 var mobileRegex = /^(((1[3456789][0-9]{1})|(15[0-9]{1}))+\d{8})$/;
   if(mobileRegex.test(phone)){
       alert('手机号正确');
   }else{
       alert('手机号输入不正确');
   }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

作者最新文章