【问题标题】:Jquery Inputmask token in mask掩码中的 Jquery Inputmask 标记
【发布时间】:2013-05-22 22:08:34
【问题描述】:

我正在使用jquery.inputmask 插件,最近遇到了一个问题。我们正在使用该插件为每个国家/地区的不同电话号码格式化输入字段,例如:

+1 (___) ___-____ [+1 (999) 999-9999]

北美编号计划。

+33 __-__-__-__ [+33 99-99-99-99]

法国编号方案。

这些工作,但是当我们到达德国时问题就出现了。

+4_ ___-___-___ [+49 999-999-999]

9 是输入掩码插件使用的数字。它错误地认为我们要添加到字段中的文字 +49 是掩码所采用的值的一部分。我们需要允许 9 出现在掩码中而不被视为令牌。有没有办法将数字掩码指示器从 9 更改为其他值?

【问题讨论】:

    标签: jquery


    【解决方案1】:

    尝试转义 9:

    $(".german").inputmask('+4\\9 999-999-999');

    DEMO

    【讨论】:

    • 这看起来很棒,我们将使用它并简单地转义我们需要作为文字字符保留的任何 9。
    【解决方案2】:

    尝试创建新的掩码定义:

    $.extend($.inputmask.defaults.definitions, {
        'n': {  //masksymbol
            "validator": "[0-9]",
            "cardinality": 1
        }
    }
    

    然后你的面具应该是这样的:

    [+4n nnn-nnn-nnn]
    

    【讨论】:

    • 我试过这个,一开始看起来很有希望,问题是,'9' 掩码仍然存在,所以任何 9 仍在被解析,例如 n9n-n9n 仍然会产生 -.
    猜你喜欢
    • 1970-01-01
    • 2017-04-07
    • 1970-01-01
    • 1970-01-01
    • 2019-01-20
    • 1970-01-01
    • 2021-03-19
    • 1970-01-01
    • 2020-10-10
    相关资源
    最近更新 更多