首页 > 解决方案 > 我的电话号码验证无法正常工作

问题描述

我的电话号码验证无法正常工作。它总是显示错误。我不明白有什么问题。控制台中没有错误显示。我使用正则表达式 = / ^(?:+?88)?01[13-9]\d{8}$ / ;。为孟加拉国。

const number = document.getElementById('number');
    form.addEventListener('submit', (event) => {
         event.preventDefault();
         validate()
    })
    const sedData = (sRate, count) => {
         if (sRate === count) {
          alert("Registration successful");
          swal(`Welcome! ${username} registration successful`);
       }
     }
    const SuccessMsg = (usernameVal) => {
        let formCon = document.getElementsByClassName('form-control');
        var count = formCon.length - 1;
        for (var i = 0; i < formCon.length; i++) {
          if (formCon[i].className === "form-control success") {
          var sRate = 0 + I;
         sedData(usernameVal, sRate, count);
         } else {
           return false;
        }
     }
  }

   const validate = () => {
     const numberVal = number.value.trim();
            if (numberVal === "") {
              setErrorMsg(number, "number can not be blank");
            } else if (numberVal.match(regex)) {
               setSuccessMsg();
            } else {
               setErrorMsg(number, "Oops! your phone number is invalid");
         }
       }
    function setErrorMsg(input, errorMsgs) {
      const formControl = input.parentElement;
      const small = formControl.querySelector('small');
      formControl.className = "form-control error";
      small.innerText = errorMsgs;
  }
 function setSuccessMsg(input) {
   const formControl = input.parentElement;
   formControl.className = "form-control success";
 }

标签: javascriptformsvalidation

解决方案


我想这是你想要的正则表达式/^(?:\+?88)?01[13-9]\d{8}$/

如果有问题,请举一些对与错的例子

另外,您可以I在 SuccessMsg in中使用资本var sRate = 0 + I;吗?


推荐阅读