【发布时间】:2016-06-16 16:06:56
【问题描述】:
当我输入我的输入时,文本会出现在图像上。我想让代码像这样工作:
当用户键入正则表达式识别的字符时,然后将其放在图像上,否则只会抛出一些错误或根本不让它在输入字段中键入。
这是正则表达式:[A-Z0-9a-z&,.-/()@*+!?"':; -]
我正在尝试这样实现它:
$("#firstText").keyup(function () {
var value = $(this).val().toUpperCase();
var regex = "[A-Z0-9a-z&,.-/()@*+!?"':; -]";
if(regex.test(value))
{
$(".zetin16").text(value);
} else {
alert('this is bad');
}
});
但我收到此错误:Uncaught SyntaxError: Invalid or unexpected token
在这一行:var regex = "[A-Z0-9a-z&,.-/()@*+!?"':; -]";
提前感谢您的帮助。
更新
正则表达式现在工作正常。现在,当正则表达式与字符不匹配时,我想防止在输入中输入字符。这是我目前的代码:
$("#firstText").keyup(function(e) {
var value = $(this).val().toUpperCase();
var regex = new RegExp(/[A-Z0-9a-z&,.-/()@*+!?"':; -]/);
if (regex.test(value)) {
$(".zetin16").text(value);
} else {
e.preventDefault();
return false;
}
});
【问题讨论】:
-
你的字符串中有一个双引号,它会提前终止。语法突出显示是您的朋友。
-
首先像这样更改正则表达式 var regex = "[A-Z0-9a-z&,.-/()@*+!?:; -]";
标签: javascript jquery regex