首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何添加带有移动号码输入字段的国家代码

如何添加带有移动号码输入字段的国家代码
EN

Stack Overflow用户
提问于 2020-05-27 09:03:30
回答 1查看 29.9K关注 0票数 0

我需要在手机号码输入字段前缀中添加国家代码。我试过下面的代码。

代码语言:javascript
复制
 <script>
   var telInput = $("#mobile"),
   errorMsg = $("#error-msg"),
   validMsg = $("#valid-msg");

   // initialise plugin
   telInput.intlTelInput({

   allowExtensions: true,
   formatOnDisplay: true,
   autoFormat: true,
   autoHideDialCode: true,
   autoPlaceholder: true,
   defaultCountry: "in",
   ipinfoToken: "yolo",

   nationalMode: false,
   numberType: "MOBILE",
   //onlyCountries: ['us', 'gb', 'ch', 'ca', 'do'],
   preferredCountries: ['sa', 'ae', 'qa','om','bh','kw','ma'],
   preventInvalidNumbers: true,
   separateDialCode: false,
   initialCountry: "in",
   geoIpLookup: function(callback) {
   $.get("http://ipinfo.io", function() {}, "jsonp").always(function(resp) {
     var countryCode = (resp && resp.country) ? resp.country : "";
     callback(countryCode);
    });
 },
    utilsScript: "https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/11.0.9/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");
     } else {
       telInput.addClass("error");
       errorMsg.removeClass("hide");
     }
   }
 });

 // on keyup / change flag: reset
 telInput.on("keyup change", reset);

</script>

我试过了,它正在起作用。但是我可以在没有国家代码的情况下提交移动电话号码,这是不应该的。国家代码不应是可编辑的。

我使用了下面的js和css:

代码语言:javascript
复制
<link href="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/11.0.9/css/intlTelInput.css" rel="stylesheet" media="screen">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/11.0.9/js/intlTelInput.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/11.0.9/js/intlTelInput.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/11.0.9/js/utils.js"></script>
EN

回答 1

Stack Overflow用户

发布于 2020-05-27 09:14:42

有一种更好、更灵活的方式来收集电话号码,其形式是优秀的jQuery插件

您还可以使用活动的这里的演示

build/img/flags.png使用是简单的,确保包含了jQuery、库和CSS文件,并且标记sprite是可用的,并从CSS中正确引用--您可以在CSS中找到它。

接下来,创建一个元素:

代码语言:javascript
复制
<input type="tel" id="number">

最后,将其简化如下:

代码语言:javascript
复制
$("#number").intlTelInput();

有关配置选项的完整列表,查阅文件。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62039315

复制
相关文章

相似问题

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