Как удалить литералы из маски ввода после отправки формы?

Я использую плагин Джоша Буша MaskedInput для jQuery в приложении веб-формы ASP.NET 3.5.

Как избавиться от литералов в файле кода программной части после отправки формы?

Например: ввод телефона с маской $("#txtPhone").mask("(99)9999-9999");

В коде:

string customerPhone = txtPhone.Text

Что возвращает меня: (12)3456-7890

Но это то, что я хочу: 1234567890

На странице журнала изменений плагинов указано, что я могу использовать метод mask() без аргументов для архивирования это. Но как это сделать из кода программной части?!

ИЗМЕНИТЬ

Мой вопрос не был ясен, поэтому: я хочу отправить на сервер немаскированное значение. Как это сделать?


person BrunoSalvino    schedule 20.08.2010    source источник


Ответы (3)


Установите для removeMaskOnSubmit значение true при инициализации маски ввода.

    $("#txtPhone").inputmask({removeMaskOnSubmit: true});

Или мы можем получить значение без маски, используя это

$("#txtPhone").inputmask('unmaskedvalue');
person Shameem Ahmed    schedule 28.11.2015
comment
это решение даже для того же плагина? В моей версии маски digitalBush (1.4.1) нет функции .inputmask() для коллекций jquery. - person jcairney; 26.02.2020

Что я делаю прямо сейчас, так это использую submitHandler (плагин проверки) для сброса входного значения, например:

submitHandler: function(form) {
    $("#txtPhone").val($("#txtPhone").mask());
    form.submit();
},

Это решает проблему, НО очень плохо пахнет...

person BrunoSalvino    schedule 21.08.2010

Вы можете удалить нечисловые символы с помощью регулярных выражений в .NET, например:

customerPhone = Regex.Replace(customerPhone, "[^0-9]", "");
person ChessWhiz    schedule 20.08.2010