如何使用 JavaScript 以國際格式編寫手機號碼?


當您的網站有來自全球各地的訪問者時,最好按照國際標準顯示諸如手機號碼之類的資訊。這樣他們就能輕鬆理解。

我們可以使用國際公共電信編號格式以國際方式表示手機號碼。它也稱為“E-164”格式。

我們提供了以下語法,供您遵循以國際方式編寫手機號碼。

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

使用者可以看到,國際電話號碼開頭是“+”,然後是“國家程式碼”,之後是本地電話號碼。

在這裡,我們將使用正則表示式和 match() 方法,使用 JavaScript 將手機號碼轉換為國際格式。

語法

使用者可以按照以下語法將手機號碼轉換為國際標準格式。

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

在上述語法中,我們編寫了正則表示式以匹配電話號碼。

match 方法返回所有匹配項的陣列。對於有效匹配,它返回四個元素。第一個元素是整個 3 位電話號碼,第二個元素是電話號碼的前三位數字,第三個元素是電話號碼的中間三位數字,第四個元素是有效電話號碼的後四位數字。

正則表示式解釋

  • ^ − 表示正則表示式的開頭。

  • (\d{3}) − 表示開頭的三位數字。

  • (\d{3}) − 表示中間的三位數字。

  • (\d{4}$) − 表示結尾的四位數字。

示例

在下面的示例中,我們添加了數字型別的 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>

使用者學習瞭如何根據國際標準排列手機號碼。我們使用了正則表示式來驗證手機號碼。如果電話號碼有效,我們將在選擇國家程式碼的情況下以國際格式顯示它。

更新於: 2023年2月28日

544 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.