【问题标题】:How to remove literals from input mask after form submit?表单提交后如何从输入掩码中删除文字?
【发布时间】:2010-08-20 20:02:57
【问题描述】:

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

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

例如:带有掩码$("#txtPhone").mask("(99)9999-9999");的电话输入

在代码隐藏中:

string customerPhone = txtPhone.Text

返回我:(12)3456-7890

但这就是我想要的:1234567890

plugins changelog page 中,它说我可以使用不带参数的mask() 方法来归档它。但是如何从代码隐藏中做到这一点?!

编辑

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

【问题讨论】:

    标签: c# asp.net jquery maskedinput


    【解决方案1】:

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

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

    或者我们可以使用这个来获取未屏蔽的值

    $("#txtPhone").inputmask('unmaskedvalue');
    

    【讨论】:

    • 这个解决方案甚至适用于同一个插件吗?我的 digitalBush 掩码 (1.4.1) 版本在 jquery 集合上没有 .inputmask() 函数。
    【解决方案2】:
    customerPhone = new string(customerPhone.ToCharArray()
                                 .Where(c => char.IsDigit(c)).ToArray());
    

    【讨论】:

      【解决方案3】:

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

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

      这解决了闻起来真的很糟糕的问题......

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          猜你喜欢
          • 2011-12-12
          • 1970-01-01
          • 2015-09-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-07-19
          • 1970-01-01
          • 2015-07-20
          相关资源
          最近更新 更多