React版imask.js实现可选±前缀的hh:mm输入框问题求助
解决imask.js中可选±前缀且限制输入的问题
你当前的代码里,开头的±符号是必填项,要改成可选且仅允许输入+/-,不能用简单的[](因为默认会允许任意字符),正确的做法是结合MaskedOptional和MaskedEnum来实现:
修改后的代码:
import { MaskedEnum, MaskedRange } from 'imask'; export const maskC = '[S]H:M'; // 用[]标记S为可选部分 export const maskObj = { S: { mask: MaskedEnum, enum: ['+', '-'], // 限定只能输入+或- }, H: { mask: MaskedRange, from: 0, to: 23, maxLength: 2, }, M: { mask: MaskedRange, from: 0, to: 59, maxLength: 2, }, };
说明:
[S]表示该部分为可选,用户可以选择输入+/-或者直接跳过- S对应的
MaskedEnum规则会严格限制可选部分只能输入+或-,不会允许其他字符或数字 - 这样用户既可以直接输入
23:59,也可以输入+23:59或-23:59,完全符合需求
内容的提问来源于stack exchange,提问作者Bhavesh Singh
相关产品推荐
相关产品推荐

