javascript - 在 3 和 6 位数字后插入空格或连字符,并且前缀为 +91

标签 javascript html

我想在输入文本中添加+91前缀,并且可以保持不变,并且在输入数据后在第3位和第6位数字后添加空格或连字符...可以吗?这是我的代码,请帮忙!!预先感谢您

   function ValidateMobNumber(txtMobId) {
      var fld = document.getElementById(txtMobId);

      if (fld.value == "") {
      alert("You didn't enter a phone number.");
      fld.value = "";
      fld.focus();
      return false;
     }
      else if (isNaN(fld.value)) {
      alert("The phone number contains illegal characters.");
      fld.value = "";
      fld.focus();
      return false;
     }
     else if (!(fld.value.length == 10)) {
      alert("The phone number is the wrong length. \nPlease enter 10 digit mobile no.");
      fld.value = "";
      fld.focus();
      return false;
     }

    }

    </script>
    </head>
    <body>
    <input type="text" id="txtMB" />
    <!--Or Call on Button-->

    <input type="submit" id="btnVal" value="Save" onclick="return ValidateMobNumber('txtMB')" />

最佳答案

您正在寻找的正则表达式是:

^\+91 ?\d{3}([ -]{1})?\d{3}([ -]{1})?\d{3}$
/* valid are:
    +91 123 456-789
    +91123456789
    +91 123-456-789
    etc.

    the regex means: +91, optional space, 3 numbers, optional one space or hyphen, the same once again and three numbers at the end.
*/

当你想在JavaScript中测试正则表达式时,你需要使用方法.test,请参阅下面的代码。

<form onsubmit="return ValidateMobNumber('txtMB');">
    <input type="text" id="txtMB">
    <input type="submit" id="btnVal" value="Save">
<form>

<script>
    function ValidateMobNumber(txtMobId) {
        var fld = document.getElementById(txtMobId);
        var patt = /\+91 ?\d{3}([ -]{1})?\d{3}([ -]{1})?\d{3}$/;
        var res = patt.test(fld.value);

        alert(res); // just for testing to show you if phone number is valid or not, remove that
        return res;
    }
</script>

http://jsfiddle.net/yv4dyoLg/

请注意,验证函数中不需要 3 个条件,上面的代码已完成,错误消息可能是“您插入了无效的电话号码”。

我将返回值移至公式的 onsubmit 操作中,因为您可以使用 Enter 发送它。当您按下 Enter 按钮时,onclick 不会在提交输入上激活。

关于javascript - 在 3 和 6 位数字后插入空格或连字符,并且前缀为 +91,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27775222/

相关文章:

javascript - 如何在 Mongo Map/Reduce 发出中使用范围变量作为属性名称

javascript - 如何检查 JavaScript 对象是否具有以特定字符串开头的属性名称?

javascript - 客户端 JavaScript 错误记录

javascript - jquery ,我如何选择 attr href 目标隐藏

html - Bootstrap 4 边框类不适用于顶部,对

html - CSS 定位问题 [img|span]

javascript - "dir"- 输入 RTL 但带有 L​​TR 测量数据 | "فثسف 3 cm فثسف"应该是 (åZhong y 3 cm

javascript - 转换 jQuery.ajax 代码以接受分页

html - 使用 ajax 修改页面的问题,以及浏览器将未修改的页面保留在缓存中的问题

html - 垂直定位相对容器中的 block 级元素