首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用IntlTelInput插件从给定的数字中获取国家代码?

如何使用IntlTelInput插件从给定的数字中获取国家代码?
EN

Stack Overflow用户
提问于 2017-08-01 10:33:19
回答 3查看 6.3K关注 0票数 2

变量givenNumber = "+918288889889";

使用IntlTelInput插件,如何才能得到“给定号码”的国家代码?

EN

回答 3

Stack Overflow用户

发布于 2017-08-01 11:06:19

在文档这里中,您可以使用名为这里的方法,如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
var countryData = $("#phone").intlTelInput("getSelectedCountryData");

女巫会回报这样的东西:

代码语言:javascript
代码运行次数:0
运行
复制
{
  name: "Afghanistan (‫افغانستان‬‎)",
  iso2: "af",
  dialCode: "93"
}

然后,您可以像这样处理这些数据:

代码语言:javascript
代码运行次数:0
运行
复制
var countryCode = countryData.dialCode;

以上线路将给您国家拨号代码。

票数 1
EN

Stack Overflow用户

发布于 2017-08-01 10:47:38

如果你不需要一个拨号代码而是一个国家代码。

在intltelinput中输入电话号码后,从下面的行中获取国家代码。

代码语言:javascript
代码运行次数:0
运行
复制
var countrycode = document.getElementsByClassName('country active')[0].getAttribute("data-country-code")

更新答案

使用第三方api (如数字核实 )是一个很好的选择。滚动到页面底部,您将看到js中的示例。如果您坚持使用数据库中的数据,我认为有必要自己编写后端代码(如php)。

代码语言:javascript
代码运行次数:0
运行
复制
// set endpoint and your access key
var access_key = 'YOUR_ACCESS_KEY';
var phone_number = '14158586273';

// verify phone number via AJAX call
$.ajax({
    url: 'http://apilayer.net/api/validate?access_key=' + access_key + '&number=' + phone_number,   
    dataType: 'jsonp',
    success: function(json) {

    // Access and use your preferred validation result objects
    console.log(json.valid);
    console.log(json.country_code);
    console.log(json.carrier);

    }
});
票数 0
EN

Stack Overflow用户

发布于 2017-08-01 11:04:30

只需使用此代码从电话号码中获取国家代码:

您可以使用var getCode = telInput.intlTelInput('getSelectedCountryData').dialCode;

下面是演示:https://output.jsbin.com/cuvoqagotu

https://jsbin.com/cuvoqagotu/edit?html,css,js

HTML:

代码语言:javascript
代码运行次数:0
运行
复制
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
  <script type="text/javascript" src="//code.jquery.com/jquery-2.1.3.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/6.4.1/css/intlTelInput.css">
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/6.4.1/js/intlTelInput.min.js"></script>
<style>
 .hide {
    display: none;
 }
</style>
</head>
<body>
<input id="phone" type="tel">
<span id="valid-msg" class="hide">? Valid</span>
<span id="error-msg" class="hide">Invalid number</span>
</body>
</html>

JS:

代码语言:javascript
代码运行次数:0
运行
复制
var telInput = $("#phone"),
  errorMsg = $("#error-msg"),
  validMsg = $("#valid-msg");

// initialise plugin
telInput.intlTelInput({
utilsScript:"https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/11.0.4/js/utils.js"
});

var reset = function() {
  telInput.removeClass("error");
  errorMsg.addClass("hide");
  validMsg.addClass("hide");
};

// on blur: validate
telInput.blur(function() {
  reset();
  if ($.trim(telInput.val())) {
    if (telInput.intlTelInput("isValidNumber")) {
      validMsg.removeClass("hide");
      /* get code here*/
      var getCode = telInput.intlTelInput('getSelectedCountryData').dialCode;
      alert(getCode);
    } else {
      telInput.addClass("error");
      errorMsg.removeClass("hide");
    }
  }
});

// on keyup / change flag: reset
telInput.on("keyup change", reset);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45435442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档