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

时间:2016-02-16 04:29:49

标签: javascript php jquery validation input

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

例如,他们提交+ 971050975xxxx而不是+ 97150975xxxx。 有没有办法在国家代码后删除零?模糊

2 个答案:

答案 0 :(得分:0)

编辑:我对代码有所纠正。这可能是诀窍(我自己没有测试过):

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

EARLIER:我宁愿从源字符串中提取国家代码(前4个字符),然后提取数字(最后9个字符)并从中提取干净的数字:

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

答案 1 :(得分:0)

尝试此操作,使用更改的通用功能进行更新

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

和onblur的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;
    }           

}