HTML 中的自定义输入掩码

问题描述 投票:0回答:5

我想生成带有自定义掩码(如

--day/--night
)的文本输入类型,并且用户仅用数字替换
-
。有什么建议吗?请在这里帮助我。

duration: --day/--night
javascript jquery html mask
5个回答
0
投票

使用两个输入效率更高。

但是如果你真的想这样做,是的,你可以做到。每次用户输入字符时,您都需要检查输入值并将该值格式化为您想要的格式。您还可以使用

selectionStart
selectionEnd
属性来操纵光标位置。

还有许多用于输入的掩码插件。 http://plugins.jquery.com/tag/mask/


0
投票

您可以执行以下操作:

创建一个占位符“--”,用户可以在其中写入内容。这是我的意思的一个简短示例:

duration: <input placeholder="--" maxlength="2">day/<input placeholder="--" maxlength="2">night

0
投票

Telerik 提供免费版本的“Kendo UI”JavaScript 代码。这是您想要的示例:http://demos.telerik.com/kendo-ui/maskedtextbox/index

这是免费代码:http://www.telerik.com/download/kendo-ui-core

这是他们托管在 Github 上的屏蔽输入代码:https://github.com/telerik/kendo-ui-core/blob/master/src/kendo.maskedtextbox.js


0
投票

编写此类代码非常困难,但您可以使用此代码进行此类格式化。

<div>
    <label for="phone">Phone</label>
    <!-- or set via JS -->
    <input id="phone" type="text" />
  </div>

jquery代码

   $(":input").inputmask();

    $("#phone").inputmask({"mask": "99/99"});

查看codepen链接点击这里


0
投票
 <div style={{ position: 'relative' }}>
  <p>{getMaskedString(value)</p>
  <input
    type="password"
    name="password"
    onChange={handleInputChange}
    onFocus={handleFocus}
    value={value}
    onBlur={handleBlur}
    style={{
      position: 'absolute',
      left: 0,
      top: 0,
      width: '100%',
      height: '100%',
      backgroundColor: 'transparent', // Make background transparent
      zIndex: 0, // Lower z-index initially
      outline: 'none', // Remove outline
    }}
  />
</div>

使backgroundColor:'透明',是使输入的背景透明的关键,将其隐藏在用户面前,但所有onFocus和onBlur效果都会发生,并且自定义文本会显示在该输入上

© www.soinside.com 2019 - 2024. All rights reserved.