如何使用JavaScript以国际方式写入手机号码

如何使用JavaScript以国际方式写入手机号码

当您的网站上有来自世界各地的访问者时,按照国际标准显示诸如手机号码之类的内容是一个好主意。这样他们可以很容易地理解。

我们可以使用国际公共电信编号格式来表示手机号码的国际方式。它也可以用“E-164”格式表示。

我们提供了以下语法以按国际方式编写手机号码。

[+] [country code] [local phone number]

用户可以看到国际电话号码以“+”开头,并在国家代码后跟本地电话号码。

在这里,我们将使用正则表达式和match()方法来使用JavaScript以国际方式转换手机号码。

语法

用户可以按照以下语法将手机号码转换为国际标准格式。

let reg = /^(\d{3})(\d{3})(\d{4})$/;
let array = number.match(reg);

在上面的语法中,我们编写了一个正则表达式来匹配电话号码。

match方法返回一个包含所有匹配项的数组。对于一个有效的匹配,它返回四个元素。第一个元素是完整的三位数电话号码,第二个元素是电话号码的前三位数字,第三个元素是电话号码的中间三位数字,第四个元素是有效电话号码的最后四位数字。

正则表达式解析

  • ^ - 它是正则表达式的开始。

  • (\d{3}) - 它代表开头的三位数字。

  • (\d{3}) - 它代表中间的三位数字。

  • (\d{4}$) - 它代表结尾的四位数字。

示例

在下面的示例中,我们添加了一个类型为number的HTML输入框。用户可以输入一个有效的10位数字的手机号码。当用户点击提交按钮时,它会执行writeInternationalNumber()函数。我们在函数中使用了上述的正则表达式来匹配输入值,并以数组格式获取匹配的值。

然后,我们将数组的值拼接成一个字符串,按照国际标准写入手机号码。

<html>
<body>
   <h3>Using the <i> Regular expression </i> to write a cell phone number in an international way in JavaScript </h3>
   <p>Enter phone number:</p>
   <input type = "number" id = "cell">
   <div id = "content"></div>
   <button id = "btn" onclick = "writeInternationalNumber()"> Submit</button>
   <script>
      let content = document.getElementById('content');

      // function to write a cell phone number in the international format
      function writeInternationalNumber() {
         let cell = document.getElementById('cell');
         let number = cell.value;
         let reg = /^(\d{3})(\d{3})(\d{4})$/;
         let array = number.match(reg);
         if(array == null) {
            content.innerHTML = "Please enter a valid phone number";
            return;
         }
         let internationalNumber = '+91' + ' (' + array[1] + ') ' + array[2] + '-' + array[3];
         content.innerHTML = "The converted phone number is " + internationalNumber;
      }
   </script>
</body>
</html>

示例

在下面的示例中,我们使用了国家代码下拉框及其值。用户可以选择任何国家,并在输入框中输入一个10位数字的电话号码。当用户按下按钮时,它会执行cellNumberWithCountryCode()函数,该函数接受所选国家代码和电话号码的值。之后,我们创建一个类似上面示例的字符串,以便可以国际化地写入输入的手机号码。

<html>
<body>
   <h3>Using the <i> Regular expression </i> to write a cell phone number in an international way in JavaScript </h3>
   <select name = "country_code" id = "codes">
      <option value = "+91" selected> India (+91) </option>
      <option value = "+355"> Albania (+355) </option> 
      <option value = "+1"> USA (+1) </option>
      <option value = "+43"> Austria (+43) </option>
      <option value = "+86"> China (+86) </option>
      <option value = "+81"> Japan (+81) </option>
      <option value = "+31"> Netherlands (+31) </option>
      <option value = "+263"> Zimbabwe (+263) </option>
   </select>
   <input type = "number" id = "cell"> <br>
   <div id = "content"> </div> <br>
   <button id = "btn" onclick = "cellNumberWithCountryCode()"> Submit</button>
   <script>
      let content = document.getElementById('content');

      // function to write a cell phone number in the international format
      function cellNumberWithCountryCode() {
         let cell = document.getElementById('cell');
         let number = cell.value;
         let reg = /^(\d{3})(\d{3})(\d{4})$/;

         // get the country code from the dropdown
         let country_code = document.getElementById('codes').value;
         let array = number.match(reg);
         if (array == null) {
            content.innerHTML = "Please enter a valid phone number";
            return;
         }
         let internationalNumber = country_code + ' (' + array[1] + ') ' + array[2] + '-' + array[3];
         content.innerHTML = "The converted phone number is " + internationalNumber; 
      }
   </script>
</body>
</html>

用户学会按照国际标准排列手机电话号码。我们使用正则表达式来验证手机号码的有效性。如果手机号码有效,我们会显示它的国际格式,并附带所选国家代码。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程