使用jquery.inputmask时允许大写字母

时间:2015-04-14 22:14:09

标签: javascript jquery

我在用于收集电子邮件地址的文本框上使用jquery.inputmask,我希望能够输入大写字母。

目前,它会在您键入小写字母时将任何大写字母转换为小写字母。如何更改它以接受大写和小写字母。

JSFiddle

$(document).ready(function(){
    //email mask 
    $("#u_email").inputmask({
        mask: "*{1,20}[.*{1,20}][.*{1,20}][.*{1,20}]@*{1,20}[.*{2,6}][.*{1,2}]",
        greedy: false,
        onBeforePaste: function (pastedValue, opts) {
            pastedValue = pastedValue.toLowerCase();
            return pastedValue.replace("mailto:", "");
        },
        definitions: {
            '*': {
                validator: "[0-9A-Za-z!#$%&'*+/=?^_`{|}~\-]",
                cardinality: 1,
                casing: "lower"
            }
        }
    });
});     

1 个答案:

答案 0 :(得分:1)

从阅读inputmask jquery plugin documentation开始,有两件事将文本输入内容强制为小写。

pastedValue = pastedValue.toLowerCase();将所有复制粘贴的文本更改为小写。

casing: "lower"将所有类型的文本更改为小写。

删除这两行,我们留下下面的内容,它适用于你的jsfiddle。

$(document).ready(function(){
     //email mask 
   $("#u_email").inputmask({
           mask: "*{1,20}[.*{1,20}][.*{1,20}][.*{1,20}]@*{1,20}[.*{2,6}][.*{1,2}]",
            greedy: false,
            onBeforePaste: function (pastedValue, opts) {
                return pastedValue.replace("mailto:", "");
            },
            definitions: {
                '*': {
                    validator: "[0-9A-Za-z!#$%&'*+/=?^_`{|}~\-]",
                    cardinality: 1
                }
            }
    });
});