为了账号安全,请及时绑定邮箱和手机立即绑定

无法在输入中输入数字或特殊字符

无法在输入中输入数字或特殊字符

万千封印 2023-10-17 15:16:10
以下内容在大多数情况下都适用;但是,数字仍然可以通过两种方式输入:“复制粘贴”以及从浏览器缓存/建议中输入,即如果您的浏览器从历史记录中为您提供填充输入的建议。仍然可以通过这两种方式实现数字。无论如何要完全消除在字段中输入数字的能力吗?<input type="text" data-value-field="value" name="styleName" onkeypress="return /[a-z]/i.test(event.key)" />
查看完整描述

2 回答

?
弑天下

TA贡献1818条经验 获得超8个赞

检查这个


abc.oninput = function() {

  const val = this

  if (/[0-9~`!@#$%\^&*()+=\-\[\]\\';,/{}|\\":<>\?¬£.]+/.test(this.value)) {

const i = this.value.match(/[0-9~`!@#$%\^&*()+=\-\[\]\\';,/{}|\\":<>\?£.]+/g)

if (i !== null) {

  i.map(function(el) {

    val.value = val.value.replace(el, '')

  })

}

  }

}

<input type="text" data-value-field="value" name="styleName" id="abc" />


查看完整回答
反对 回复 2023-10-17
?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

onpaste="return false"用于取消粘贴事件。


autocomplete="off"用于防止自动完成。


setInterval(() => { ... }, 100);用于定期检查输入并删除任何数字或特殊字符。这可以防止用户在开发者控制台中使用input.value = " ... "将输入值设置为无效值,因为输入将自动更正。


const input = document.getElementById('cleanse');


setInterval(() => {

  input.value = input.value.replace(/[^a-zA-Z ]/g, "");

}, 100);

<input type="text" data-value-field="value" name="styleName" onkeypress="return /[a-z]/i.test(event.key)" onpaste="return false" autocomplete="off" id="cleanse" />


查看完整回答
反对 回复 2023-10-17
  • 2 回答
  • 0 关注
  • 90 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信