2016-02-28 3 views
-2

Может ли кто-нибудь помочь мне с рабочим сценарием html/jquery, который будет читать текстовый ввод окна html textarea и протестировать, если текст, введенный в поле, содержит числовую строку из 11 символов в качестве части ее контент, если это так, сценарий должен появиться с диалоговым окном, которое спросит, будет ли клиент переформатировать это числовое содержимое в поле textarea. если параметр «Да» в диалоговом окне выбран клиентом, сценарий затем должен переформатировать цифровую строку, добавив пробелы после 3-го, 6-го и 9-го символов, например, сменить 08293434565 на 082 934 345 65 и после этого вернуть переформатированные данные в HTML текстовое поле окноReformat и return textarea input

function Confirm() { 
 

 
    var data = $('#fix').val(); 
 
    var arr = data.split(' '); 
 

 
    //check if numeric and 11 numbers 
 
    if (isNaN(arr[5]) == true && arr[5].length == 11) { 
 

 
    //show popup, if yes run the format function 
 
    var confirm_value = document.createElement("INPUT"); 
 
    confirm_value.type = "hidden"; 
 
    confirm_value.name = "confirm_value"; 
 
    if (window.confirm("Message contains numeric characters which might make the message not delivered to some networks. Do you want us to reformat the message ?. This might increase the numbers of pages of the message and the cost?")) { 
 
     confirm_value.value = "Yes"; 
 
     format(); 
 
    } else { 
 
     confirm_value.value = "No"; 
 
    } 
 
    document.forms[0].appendChild(confirm_value); 
 

 

 
    } 
 
} 
 

 
function format() { 
 

 
    var first = arr[5].substring(0, 4); 
 
    var second = arr[5].substring(4, 20); 
 
    second = second.replace(/(.{3})/g, "$1 ") 
 

 
    $('#fix').val("This is my mobile number " + first + " " + second); 
 

 
};
<input type="textbox" id="fix" name="fix" /> 
 
<button ID="button1" OnClick="Confirm();" runat="server">Confirm</button>

+0

Вы пробовали что-нибудь до сих пор? –

+0

Да, у меня есть. я просто разместил его – Pope

+0

Ваш код выглядит близко. Я не думаю, что вы должны смотреть только на 6-й элемент в массиве split (arr [5]), а вместо этого нужно перебирать все элементы или пытаться использовать RegExp. Ваш код, похоже, не переформатирует строку и не возвращает ее в текстовое поле. – Nate

ответ

0

Ваш тест для числовых и 11 чисел не является правильным.

function Confirm() { 
 

 
    var data = $('#fix').val(); 
 
    
 
    //check if numeric and 11 numbers 
 
    if (!isNaN(data) == true && data.length == 11) { 
 

 
    //show popup, if yes run the format function 
 
    if (window.confirm("Message contains numeric characters which might make the message not delivered to some networks. Do you want us to reformat the message ?. This might increase the numbers of pages of the message and the cost?")) { 
 
     format(data); 
 
    } 
 
    } else { 
 
    alert('Check number format'); 
 
    } 
 
} 
 

 
function format(data) { 
 

 
    var first = data.substring(0, 4); 
 
    var second = data.substring(4, 20); 
 
    second = second.replace(/(.{3})/g, "$1 ") 
 

 
    $('#fix').val("This is my mobile number " + first + " " + second); 
 

 
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<input type="textbox" id="fix" name="fix" /> 
 
<button ID="button1" OnClick="Confirm();" runat="server">Confirm</button>

+0

Спасибо. он работал – Pope

+0

@ Dave Anderson Пожалуйста, как я могу заставить скрипт найти номер телефона в текстовом поле, которое содержит другие слова вместе с числовым значением. например «Пожалуйста, позвоните мне по мобильному телефону 08293434565». Обратите внимание, что длина содержимого текстового поля является переменной и изменяется с каждым клиентом на веб-странице. Это означает, что позиция номера телефона в текстовом поле не фиксирована – Pope

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