You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 12:05:30