[英]How to apply Regular Expression to input using jQuery?
我有以下代码可以强制用户在输入中仅输入数字:
$("#Day").keyup(function()
{
var test =new RegExp( "/\D/G");
if(test.test($("#Day").val()))
$("#Day").val(replace("/\D/G" , ""));
});
但它使我可以键入非数字并且在控制台中没有显示错误。
这工作:
JSFIDDLE: http : //jsfiddle.net/4RWBU/
我以某种方式编辑了您的原始代码。 我将事件类型从keyup
更改为keydown
。 如果我们使用keydown
键,实际上可以阻止按键显示,但是我不认为使用keyup
可以实现(按键已经显示)。
$("#Day").keydown(function(e)
{
var test = /[0-9]/; //regex
var value = String.fromCharCode(e.keyCode); //get the charcode and convert to char
if (value.match(test)) {
return false; //dont display key if it is a number
}
});
您可以在不使用正则表达式的情况下执行此操作:
将type="number"
添加到您的输入中,您应该做得很好。
但是,如果要支持IE和HTML 4用户,也可以这样做:
$("#Day").keyup(function () {
var test = /\D/;
if (test.test($(this).val())) {
$("#Day").val($(this).val().replace(/\D/g, ""));
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.