javascript - 检查按键上的正则表达式

标签 javascript jquery regex

我想创建自己的插件(不使用任何外部库 - 它用于学习目的)来验证用户在正则表达式测试函数中动态输入的文本。

例如我有正则表达式模式:

^.{2}$

和javascript函数

$('#textbox').bind("keypress", function (event) {
    var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
    if (!regex.test(key)) {
        event.preventDefault();
        return false;
    }
});

现在,我想在文本框中键入两个点,但在第一次按键被触发后,一个点与模式不匹配并且没有任何反应,因为事件被阻止了。

我的问题:是否可以检查当前键入的文本是否与正则表达式匹配?

最佳答案

您的正则表达式只接受两个点 (..),但您正在测试单个字符!

var regex = new RegExp("^.{2}$");

$('#textbox').bind("keypress", function (event) {
    var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
    if (!regex.test(key)) {
        event.preventDefault();
        return false;
    }
});

想在用户完成输入时检查当前输入的文本吗? ..看HERE

关于javascript - 检查按键上的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31852843/

相关文章:

javascript - 如何安全地将音乐放在我的网站上?

改变图像的 jQuery 进度条 .attr ('src' )

javascript - 动态添加和删除输入

javascript - Isracard(以色列卡)的正则表达式

php - 在网页中包含 Javascript

javascript - PHP 中的 Jquery

javascript - 这个 JavaScript 对象数组表达式 {}[] 是什么意思?

javascript - jQuery 删除 ajax 中的属性

Android RegEx 找不到匹配项

javascript - 正确测试整数或 N/A 正则表达式