如何在表单提交后从输入掩码中删除文字?

时间:2010-08-20 20:02:58

标签: c# asp.net jquery maskedinput

我在ASP.NET 3.5 Webform应用程序中使用Josh Bush的用于jQuery的MaskedInput插件。

如何在表单提交后摆脱代码隐藏文件中的文字?

例如:带有掩码$("#txtPhone").mask("(99)9999-9999");

的电话输入

在代码隐藏中:

string customerPhone = txtPhone.Text

返回给我:(12)3456-7890

但这就是我想要的:1234567890

plugins changelog page它说我可以使用mask()方法,没有任何参数来实现这一点。但是如何从代码隐藏中做到这一点?!

修改

我的问题不明确,所以:我想向服务器发送未屏蔽的值。怎么做?

4 个答案:

答案 0 :(得分:2)

customerPhone = new string(customerPhone.ToCharArray()
                             .Where(c => char.IsDigit(c)).ToArray());

答案 1 :(得分:1)

初始化输入掩码时将removeMaskOnSubmit设置为true

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

或者我们可以使用此

获取未屏蔽的值
$("#txtPhone").inputmask('unmaskedvalue');

答案 2 :(得分:0)

您可以使用.NET中的正则表达式删除非数字字符,如下所示:

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

答案 3 :(得分:0)

我现在正在做的是,使用submitHandler(验证插件)重置输入值,如下所示:

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

这解决了问题 BUT 气味真的很糟糕......