javascript - 如何防止在输入字段中写入和粘贴特殊字符?

标签 javascript jquery

我试图阻止输入写入和插入特殊字符。 这将阻止字符被写入,但不会阻止它们被插入。我怎样才能用 JQuery 做到这一点?

 $('#first').keypress(function (e) {
    var txt = String.fromCharCode(e.which);
    if (!txt.match(/[A-Za-z0-9&. ]/)) {
        return false;
    }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form name="form" action="reg.php" method="POST" id="reg" onsubmit="return formSubmit();">
    <input type="text" name="first" id="first" required/>
    <input type="text" name="sec" id="sec" required />
</form>

最佳答案

您可以使用下面的正则表达式来防止出现特殊字符

var nospecial=/^[^*|\":<>[\]{}`\\()';@&$]+$/;

$('#first').keypress(function (e) {
    var txt = nospecial.test(e.val());
    if (!txt) {
        $('#first').val('');
        return false;
    }
});

关于javascript - 如何防止在输入字段中写入和粘贴特殊字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53911170/

相关文章:

javascript - 在 KineticJS 中按类名从阶段获取多个对象

jquery - 单击时仅应打开一个 Accordion

javascript - Mongoose : How to find by date that start with a given input (like autocomplete : 25/01/2. .. , 25/01 ..)

javascript - 使用带有元素 id 的 onkeyup 函数从 Html 获取值到 jquery?

javascript - 在移动设备上禁用网站正文的触摸平移

javascript - 合并 JavaScript 对象重复项

javascript - Jquery document.ready 没有响应

javascript - Google Analytics 事件跟踪 - 页面退出

javascript - 使用 Jquery 更改检查单选按钮 ID

javascript - jQuery setTimeout ajax 递归函数在即时消息程序中短暂抛出错误