如何在国家/地区代码后删除 0


How to remove 0 after country code

我正在表单上使用jQuery插件(http://www.jqueryscript.net/form/jQuery-International-Telephone-Input-With-Flags-Dial-Codes.html(来提交日期。但有时人们错误地在国家/地区代码后添加了 0。

例如,他们提交+971050975xx而不是

+971050975xxxx。有没有办法删除国家代码后面的零?模糊时

编辑:我在代码方面的立场是正确的。这可能会解决问题(我自己还没有测试过(:

var code = $("#demo").intlTelInput("getExtension");
var number = $("#demo").intlTelInput("getNumber");
var clean_number = code + number;

早些时候:我宁愿从源字符串(前 4 个字符(中提取国家/地区代码,然后提取数字(最后 9 个字符(并从中制作干净的数字:

var source = '+971050975xxxx';
var code = source.substring(0, 4);
var number = source.substring(source.length - 9);
var clean_number = code + number;

试试这个,使用更改的泛型函数进行更新

<input id="demo" placeholder="e.g. +1 702 123 4567" type="tel" onblur="SetValue(this.value)">

以及 Onblur i 的 JavaScript 函数,

function SetValue(e)
{
    var selectedCountry = $("div[class='selected-flag']")[1].children[0].getAttribute("class").split(' ')[1];
    var countryCode = $("li[data-country-code='" + selectedCountry + "']").attr("data-dial-code");
    var prefixData = "+"+countryCode;
    var inputData = document.getElementById("demo").value;
    var tempData = inputData.replace(prefixData, '');
    if (tempData.indexOf(' ') == 0) {
        tempData = tempData.substring(1, tempData.length);
    }
    if (tempData.indexOf('0') == 0) {
        tempData = tempData.substring(1, tempData.length);
        document.getElementById("demo").value = prefixData +" "+ tempData;
    }           
}