JavaScript利用正则表达式来禁止键盘输入数字
今日在看JavaScript的时候,发现键盘响应时间onkeydown 和一些其他的相关事件都停用了keyCode 这个属性,而keyCode 这个属性返回的是键盘按键的ASCII码值,停用后有个code 属性替代,但也不完全替代,因为code 属性返回的是键值本身的值,所以写法也不一样,下面用正则表达式来禁止输入框输入数字,直接上代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>1609</title>
<script>
window.onload = function(){
var inp = document.getElementsByTagName("input")[0];
inp.onkeydown = function(e){
if(/\d/.test(e.code)){
return false;
}
console.log(e.code);
};
};
</script>
</head>
<body>
<input type="text" id="1" />
</body>
</html>
JavaScript中正则表达式的test()方法返回一个bool值,就是文本是否匹配表达式
而使用keyCode 写法如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>1609</title>
<script>
window.onload = function(){
var inp = document.getElementsByTagName("input")[0];
inp.onkeydown = function(e){
if(e.keyCode >= 48 && e.keyCode <= 57)){
return false;
}
console.log(e.code);
};
};
</script>
</head>
<body>
<input type="text" id="1" />
</body>
</html>
|