我正在表单上使用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;
}
}