我想创建自己的插件(不使用任何外部库 - 它用于学习目的)来验证用户在正则表达式测试函数中动态输入的文本。
例如我有正则表达式模式:
^.{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/