【问题标题】:jquery mask outputjQuery掩码输出
【发布时间】:2010-12-02 09:19:15
【问题描述】:

我有一个带有蒙版的 jquery 蒙版文本框:

$("#txthtml").mask("99/99/9999");

当我检查输出时,它的值中有“/”。有没有一种简单的方法可以只获取用户输入的内容而不获取其他内容?所以如果文本框显示01/01/1990 我想要01011990

如果我有电话号码掩码也是一样,我怎样才能只获取用户输入?

【问题讨论】:

    标签: jquery


    【解决方案1】:

    JavaScript 可以用空字符串替换 / 字符:yourDateString.replace(/\//g, "")

    【讨论】:

    • 以电话(123) 456-7890为例,不确定空间?
    • "(123) 456-7890".replace(/[\-\(\) ]/g, "") 删除电话号码中的括号、空格和连字符。
    • 这是 JavaScript,不是 C# 或 VB。但是,您可以使用 C# 和 VB 提供的任何正则表达式替换方法,并使用此正则表达式或至少基于它的类似方法。因为我不会 C# 或 VB,所以我帮不了你。
    • 谢谢。我也倾向于修改字符串,但想确定是否内置了类似的东西:)
    【解决方案2】:

    使用正则表达式去除“/”字符,或进行拆分/连接:

    "01/01/1990".split("/").join("");
    

    【讨论】:

    • 这是完成'01/01/1990'.replace(/\//g, '')的一种非常愚蠢的方式。
    • @Matt Ball:如果你这么说......不知道为什么它很傻。它同样清晰,不是令人难以置信的迂回,而且性能也不差(事实上,可以更快:jsperf.com/regex-replace-vs-split-join)。
    • 正如 jsperf 链接所示,在 FF 3.6 中它稍微快一点,但在 Chrome 中慢 97%
    • @Matt Ball,速度还算公道,我反过来读了数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-20
    • 2020-10-10
    • 1970-01-01
    • 2017-08-25
    • 1970-01-01
    相关资源
    最近更新 更多