我的正则表达式允许字符、数字、句点和下划线:
var numericReg = /^[a-zA-Z0-9\._]+$/;
如何在这个正则表达式中允许退格键?
我的正则表达式允许字符、数字、句点和下划线:
var numericReg = /^[a-zA-Z0-9\._]+$/;
如何在这个正则表达式中允许退格键?
您可以使用[\b]
来匹配退格符。因此,只需将其添加到您的字符类中:-
var numericReg = /^[a-zA-Z0-9._\b]+$/;
请注意,在字符类中您不需要转义点(.)
。它在其中没有特殊含义。
另请参阅:-
了解更多转义序列和正则表达式中的模式。
[\b]
,匹配反斜杠。 - Rohit Jain:
var numericReg = /^[a-zA-Z0-9._]+|[\b]+$/
或者:
var numericReg = /^(?:[a-zA-Z0-9._]|[\b])+$/
在检查正则表达式之前,请检查'event.keyCode'和'value.length'。
Keycode 8 = 反斜杠
$('#my-input').on('keypress change', function(event) {
// the value length without whitespaces:
var value_length = $(this).val().trim().length;
// check against minimum length and backspace
if (value_length > 1 && event.keyCode != 8) {
var regex = new RegExp('/^[a-zA-Z0-9\._]+$/');
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
event.preventDefault();
return false;
}
}
}
我还制作了一个只接受数字(非小数)和退格键的文本输入类型。我注意到在非火狐浏览器中,在正则表达式中加入 [\b] 是不必要的。
var regExpr = new RegExp("^[0-9,\b][0-9,\b]*$");