如何禁止用户在指定HTML输入框中输入特定特殊字符?
实现输入框禁止指定特殊字符输入
给你弄好的完整代码,直接替换你原有的HTML片段就行:
<div class="form-item"> <label for="Name">Name: </label> <input type="text" id="Name" name="Cname"> </div> <script> // 获取目标输入框 const nameInput = document.getElementById('Name'); // 监听输入行为,自动过滤禁止的特殊字符 nameInput.addEventListener('input', function() { // 定义要禁止的特殊字符正则(注意转义正则里的特殊符号) const forbiddenChars = /[!@#$%^&*()_+\[\]{}';:"<>?]/g; // 把输入内容里的禁止字符清空 this.value = this.value.replace(forbiddenChars, ''); }); </script>
简单说明
- 用
input事件能覆盖所有输入场景,不管是键盘打字还是复制粘贴,都能过滤特殊字符 - 正则里的
[]是特殊符号,所以加了\转义,不然正则会出错 - 用户输入或粘贴禁止字符时,代码会自动把这些字符删掉,输入框里不会显示
内容的提问来源于stack exchange,提问作者Preston Ntwali
相关产品推荐
相关产品推荐

