求助:如何修改jQuery掩码代码使其同时支持数字与字母输入
问题
现有一段jQuery代码,目前仅能完美处理数字输入,但不知如何修改使其同时支持字母输入。代码如下:
jQuery('input[name="_tipo"], label input[name="_tipo"]').on('change', function() { var mask = (jQuery(this).val() == 'CPF') ? '00000000000' : '00000000000000'; jQuery('input[name="user_login"]').mask(mask); var labelText = (jQuery(this).val() == 'CPF') ? 'Entre com seu CPF (login)' : 'Entre com seu CNPJ (login)'; jQuery('input[name="user_login"]').closest('.jet-form-builder-row').find('.jet-form-builder__label-text').text(labelText); });
不清楚该查找哪类参考指南,恳请帮助!
解决方案
你当前用的是jQuery Mask Plugin,这个插件通过占位符定义输入规则,默认的0只允许数字输入,要支持字母只需替换对应占位符:
*:允许输入任意字母(大小写均可)和数字A:仅允许大写字母a:仅允许小写字母
修改后的代码(以支持字母数字混合输入为例):
jQuery('input[name="_tipo"], label input[name="_tipo"]').on('change', function() { // 用*替代0,放开字母输入限制 var mask = (jQuery(this).val() == 'CPF') ? '***********' : '**************'; jQuery('input[name="user_login"]').mask(mask); var labelText = (jQuery(this).val() == 'CPF') ? 'Entre com seu CPF (login) - 允许字母数字' : 'Entre com seu CNPJ (login) - 允许字母数字'; jQuery('input[name="user_login"]').closest('.jet-form-builder-row').find('.jet-form-builder__label-text').text(labelText); });
参考指南方向
直接查找jQuery Mask Plugin的官方文档即可,文档里会详细列出所有占位符规则、自定义掩码的方法,还有各类输入场景的示例,能覆盖你需要的输入限制调整需求。
内容的提问来源于stack exchange,提问作者Convex 005
相关产品推荐
相关产品推荐

