2016-02-16 3 views
3

Я использую плагин jQuery (http://www.jqueryscript.net/form/jQuery-International-Telephone-Input-With-Flags-Dial-Codes.html) в моей форме, чтобы отправить дату. Но иногда по ошибке люди добавляют 0 после кода страны.Как удалить 0 после кода страны

Например, вместо + 97150975xxxx они отправляют + 971050975xxxx. Есть ли способ удалить нуль после кода страны? По размытию

+0

Не можете ли вы получить код страны и выполнить подстроку из строки, а затем получить 1-ю цифру из оставшейся, чтобы проверить, равен ли он 0 или нет? – Dhara

+1

Похоже, что коды стран могут быть от 2 до 4 целых чисел (https://en.wikipedia.org/wiki/List_of_country_calling_codes). Как бы вы узнали, был ли это код страны длиной 3-4 символа и длиной 2 символа с случайным 0? – chris85

+0

Debin yes Я могу извлечь код страны var extension = $ ("# demo"). IntlTelInput ("getExtension"); и число var intlNumber = $ ("# demo"). intlTelInput ("getNumber"); и http://jsfiddle.net/kCpNQ/304/ сделает все остальное ... правильно? –

ответ

0

EDIT: Я придерживаюсь правил в отношении кодов. Это может сделать трюк (не проверял это сам):

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; 
+4

код страны не фиксирован 4 длины – Dhara

+0

Это не будет работать во всех сценариях –

+0

Да, некоторые коды стран длиннее других. Остров Кайман +1345 http://www.jqueryscript.net/demo/jQuery-International-Telephone-Input-With-Flags-Dial-Codes/ –

0

Попробуйте это обновление с измененной функцией общего

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

и яваскриптом функцией для ONBLUR I,

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; 
    }   

} 
Смежные вопросы