javascript - 以信用卡格式键入字母数字键
问题描述
在我当前的 React 应用程序中,我有一个 13 位字母数字键,我想在另一个屏幕上键入并粘贴为信用卡格式,即前 3 个框每个应该包含 3 个数字,第四个框应该包含 4 个数字。例如 - box1 box2 box3 box4
一旦第一个框具有所有 3 个数字,焦点应移至第一个数字的下一个框。
我为此使用反应文本掩码。
handleFocus = () =>{
let val = document.akBox.first.value.length+1;
if (val <= 3)
{
document.akBox.first.focus()
}
else
{
document.akBox.second.focus()
}
}
<form name='akBox'>
<div className="col-md-1" onKeyUp={this.handleFocus}>
<MaskedInput name= "first" mask={[/^[a-zA-Z0-9]+$/, /^[a-zA-Z0-9]+$/, /^[a-zA-Z0-9]+$/]}/>
</div>
<div className="col-md-1" >
<MaskedInput name= "second" mask={[/^[a-zA-Z0-9]+$/, /^[a-zA-Z0-9]+$/, /^[a-zA-Z0-9]+$/]}/>
</div>
<div className="col-md-1">
<MaskedInput name="third" mask={[/^[a-zA-Z0-9]+$/, /^[a-zA-Z0-9]+$/, /^[a-zA-Z0-9]+$/]} />
</div>
<div className="col-md-1">
<MaskedInput name="fourth" mask={[/^[a-zA-Z0-9]+$/, /^[a-zA-Z0-9]+$/, /^[a-zA-Z0-9]+$/,/^[a-zA-Z0-9]+$/]} />
</div>
</form>
我能够实现解决方案,但反应文本掩码的问题是我无法将焦点移动到下一个框并通过拆分为 3-3-3-4 格式粘贴 13 位数字键。我正在学习反应,想知道我怎样才能让它也接受字母表。非常感谢帮助!
解决方案
推荐阅读
- unit-testing - 如何定义@TestPropertySource(位置)?
- regex - 在 ubuntu 中使用 ' 登录 sed 正则表达式
- arrays - 如何将此动态数组复制到电子表格中,为什么样板答案对我不起作用?
- oracle - 将 Azure VM (Oracle) 迁移到 AWS RDS Aurora
- c++ - MacPorts:“错误:clang-4.0 已被 clang-8.0 替换;请安装它”但我已经安装了 clang-8.0
- jquery - jQuery:单击在下拉菜单选项上不起作用
- neo4j - 来自 GraphQL Mutation 的响应未按预期工作
- python - 从嵌套字典中获取具有最大值的键
- python - 使用 Python 将字符串(2019 年 6 月 6 日上午 9:29:29)转换为日期时间(YMD H:M:S) -
- wordpress - 无法使用虚拟主机访问 wp-admin