我只允许数字和字母以及JavaScript中的这个特殊字符(#‘()+-?!/&*»)。
此刻,我只有数字和字母允许,但我想要一个特殊的角色。 (#‘()+-?!/&*»)
$("#test").keypress(function(e) {
$("#error").remove();
var k = e.keyCode,
$return = ((k > 64 && k < 91) || (k > 96 && k < 123) || k == 8 || k == 32 || (k >= 49 && k <= 57));
if(!$return) {
$("<span/>",{
"id" : "error",
"html" : "No special caracters allow !"
}).insertAfter($j(this));
return false;
}
});
预先感谢您的快速回复。
答案 0 :(得分:2)
使用e.key
可能会更容易,它将为您提供实际的字符,而不是字符代码,然后您可以根据包含允许字符的正则表达式检查该字符:>
const isOk = /[a-z0-9#‘)(+-?!\/&*»]/i.test(e.key);
if (!isOk) {
// handle error
}
答案 1 :(得分:1)
答案 2 :(得分:0)
简单的正则表达式:
/[a-z0-9\#\'\(\)\+\-\/\&\*\»]/gi