javascript - 使用 textarea 在正则表达式中包含退格键
问题描述
我看过这篇文章来帮助我(javascript中的正则表达式允许退格),但是我仍然不能使用退格删除字符。
我尝试了不同的变化
(/[0-1,\b]/g)
(/[0-1][\b]/g)
(/[0-1]+[\b]/g)
...没有任何工作。
这是我的整个功能:
binary.addEventListener('keydown', (event) => {
if (event.key.match(/[0-1]/g)) {
return event;
} else {
event.preventDefault();
}
});
事件处理程序附加到 <textarea id="binary" placeholder="Binary..." type="text"></textarea>.
我试图删除 preventDefault(),但那时我的正则表达式不适用。
解决方案
event.keyCode === 8 ||
您可以通过向条件添加替代项来检查是否按下了 BACKSPACE if
。
RegExp.test()
此外,用于检查正则表达式是否匹配字符串可能是“更干净”的, /[01]/.test(event.key)
.
let log = document.querySelector('#log'),
test = document.querySelector('#test');
test.addEventListener('keydown', (event) => {
if (event.keyCode === 8 || /[01]/.test(event.key)) {
return event;
} else {
event.preventDefault();
}
});
#test:focus{outline: none;}
<input type='text' id='test' autofocus /><br />
<span id='log'></span>
推荐阅读
- java - 使用 Graphics2D 在值周围画一条线
- python - 使用带有 SASL 的套接字连接到 irc
- java - 如何使骆驼路由交换检索原始数据类型?
- python - Numba 中的布尔签名
- c# - 将 Paypal 集成到 ASP.NET MVC 网站
- scala - 使用尾递归和匹配表达式对 Scala 中的选项列表求和
- ruby-on-rails - Rails 错误:服务器已经在运行永久修复
- google-apps-script - 如何使发布到网络的谷歌表格图表动态化?
- python - 在具有 2D 索引的 2D 列表中查找(子)项的索引
- python - 启动 python 脚本时 pandas 的问题