我在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()
方法,没有任何参数来实现这一点。但是如何从代码隐藏中做到这一点?!
修改
我的问题不明确,所以:我想向服务器发送未屏蔽的值。怎么做?
答案 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 气味真的很糟糕......