【问题标题】:How to escape the backslash "\" character in jquery inputmask?如何在 jquery 输入掩码中转义反斜杠“\”字符?
【发布时间】:2016-07-21 14:31:57
【问题描述】:

我正在尝试转义 escape char (\) 以允许用户输入其 Active Directory 用户名 (DOMAIN\username),但它不会在输入字段中包含该字符。

我在mask 中使用过\\\\\\\\\\,但没有一个有效。也尝试了escapeRegex()函数,但没有成功。

如何做到这一点?

JS:

(function ($) {
    $.extend($.inputmask.defaults.aliases, {
        'ACTIVE-DIRECTORY': {
            mask: function(a) {
                return a.domain + '\\\\*{1,20}';
            },
            greedy: false,
            definitions: {
                '*': {
                    validator: '[A-Za-z\u0410-\u044F\u0401\u04510-9]',
                    cardinality: 1,
                    casing: 'lower'
                }
            }
        }
    });
})(jQuery);

编辑:

这是它在 HTML 中显示的内容:

【问题讨论】:

    标签: javascript jquery jquery-inputmask


    【解决方案1】:

    您如何尝试使用编码字符编写指令路径?

    (function ($) {
    var dicrectory = encodeURIComponent(directory_path);
        $.extend($.inputmask.defaults.aliases, {
            dicrectory: {
                mask: function(a) {
                    return a.domain + '\\\\*{1,20}';
                },
                greedy: false,
                definitions: {
                    '*': {
                        validator: '[A-Za-z\u0410-\u044F\u0401\u04510-9]',
                        cardinality: 1,
                        casing: 'lower'
                    }
                }
            }
        });
    })(jQuery);
    

    记得在服务器端解码它 - 或者任何你想使用它的地方。

    【讨论】:

    • 这是如何工作的?我实际上可以从 HTML 访问别名。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 2012-01-26
    • 2012-03-26
    相关资源
    最近更新 更多