如何限制要输入的文本框中的任何特定字符。我只想限制 ^ 和 %
How to restrict any specific characters in textbox to be entered. I want to restrict only ^ and %
我试过下面的方法,但它限制了所有的特殊字符。不确定如何限制特定字符。
$(function(){
$('#test').keypress(function (e) {
var regex = new RegExp("^[a-zA-Z0-9-]+$");
var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
if (regex.test(str)) {
return true;
}
e.preventDefault();
return false;
});
});
<input type="text" id="test"/>
你只需要转义你的字符
var regex = new RegExp("[^\^\%]");
Fiddle ==> http://jsfiddle.net/6j8sa9qz/10/
如果您只想允许字符
,只需删除第一个 ^
此外,由于正则表达式不是动态的,您可以在按键函数之外声明它。否则,每次用户按下一个键时,它都会被一次又一次地声明!
实际上你不需要 return true
,所以你可以简化
$(function(){
var regex = new RegExp("[^\^\%]");
$('#test').keypress(function (e) {
var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
if (!regex.test(str)) {
e.preventDefault();
return false;
}
});
});
试试这个代码
以下将允许除 ^ 和 %
之外的所有大小写字母、数字和特殊字符
[a-zA-Z_0-9@\!#$\&*()+=\-[]\\';,\.\/\{\}\|\":<>\? ]
您可以简单地测试字符是否与 either % or ^
:
的正则表达式匹配
正则表达式是:
/%|\^/
这是您的代码:
$(function() {
$('#test').keypress(function(e) {
var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
return !(/%|\^/.test(str))
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="test" />
我试过下面的方法,但它限制了所有的特殊字符。不确定如何限制特定字符。
$(function(){
$('#test').keypress(function (e) {
var regex = new RegExp("^[a-zA-Z0-9-]+$");
var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
if (regex.test(str)) {
return true;
}
e.preventDefault();
return false;
});
});
<input type="text" id="test"/>
你只需要转义你的字符
var regex = new RegExp("[^\^\%]");
Fiddle ==> http://jsfiddle.net/6j8sa9qz/10/
如果您只想允许字符
,只需删除第一个^
此外,由于正则表达式不是动态的,您可以在按键函数之外声明它。否则,每次用户按下一个键时,它都会被一次又一次地声明!
实际上你不需要 return true
,所以你可以简化
$(function(){
var regex = new RegExp("[^\^\%]");
$('#test').keypress(function (e) {
var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
if (!regex.test(str)) {
e.preventDefault();
return false;
}
});
});
试试这个代码
以下将允许除 ^ 和 %
之外的所有大小写字母、数字和特殊字符[a-zA-Z_0-9@\!#$\&*()+=\-[]\\';,\.\/\{\}\|\":<>\? ]
您可以简单地测试字符是否与 either % or ^
:
正则表达式是:
/%|\^/
这是您的代码:
$(function() {
$('#test').keypress(function(e) {
var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
return !(/%|\^/.test(str))
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="test" />