Inputmask结合HTML input pattern如何将默认占位符_改为x
Inputmask 修改默认占位符为x的实现方法
直接传入'xxxxx'作为掩码无法达到预期,是因为在Inputmask的预定义规则里,x本身是掩码匹配字符(默认匹配任意字母、数字),并非占位符标识,这种写法会把输入规则改成允许输入字母数字,不符合邮编仅允许输入5位数字的要求。
可以通过配置placeholder参数自定义占位符,有两种常用实现方式:
- 单实例配置(仅针对当前邮编输入框生效)
初始化Inputmask时,第二个参数传入配置对象,指定placeholder值为x即可,保留原有的纯数字掩码规则:
$('#zipcode').inputmask('99999', { placeholder: 'x' });
初始化完成后,输入框空状态下会显示xxxxx的占位效果,输入时仅允许录入0-9的数字,和HTML上写的pattern="[0-9]{5}"校验规则完全兼容,不会产生冲突。
- 全局配置(对页面所有Inputmask实例生效)
如果项目里多个输入框都需要把默认的_占位符改成x,可以直接修改Inputmask的全局默认配置,后续初始化时不需要重复传参:
Inputmask.extendDefaults({ placeholder: 'x' }); // 后续初始化掩码无需单独配置placeholder $('#zipcode').inputmask('99999');
补充说明:Inputmask常用内置掩码字符规则参考:
9:仅匹配0-9的数字a:仅匹配a-z、A-Z的字母*:匹配任意字符x:匹配字母+数字组合
内容的提问来源于stack exchange,提问作者sai pavan
相关产品推荐
相关产品推荐

