我想設置一個主頁,其中按任何字符(小寫或大寫)或任何數字將用戶重定向到login page
,因爲主頁本身沒有任何東西要做到這一點就需要打字。檢測是否輸入了字符或數字
我第一次嘗試是這樣的:
document.onkeyup = function() {
document.location.href = "/login"
}
這工作,但它的工作原理爲每鍵,包括光標,標籤,甚至大寫鎖定。我如何限制這個功能,以便它只響應字符和數字?
我想設置一個主頁,其中按任何字符(小寫或大寫)或任何數字將用戶重定向到login page
,因爲主頁本身沒有任何東西要做到這一點就需要打字。檢測是否輸入了字符或數字
我第一次嘗試是這樣的:
document.onkeyup = function() {
document.location.href = "/login"
}
這工作,但它的工作原理爲每鍵,包括光標,標籤,甚至大寫鎖定。我如何限制這個功能,以便它只響應字符和數字?
當事件發生時,鍵碼作爲事件參數發送。我們可以使用它來確定是否按下了字符或數字鍵。就像這樣:
document.onkeyup = function(e) {
if ((e.keyCode >= 65 && e.keyCode <= 90) ||
(e.keyCode >= 97 && e.keyCode <= 122) ||
(e.keyCode >= 48 && e.keyCode <= 57)){
document.location.href = "/login";
}
};
僅供參考,上面所用的數量ASCII代碼,你可以在這裏找到完整的列表:http://asciitable.com/。 48-57是數字0-9,65-90是大寫字母,97-122是小寫字母。
你可以在這裏找到一個非常簡單的JS Fiddle示例:http://jsfiddle.net/jpYyg/。請記住在按下任何按鈕之前點擊「結果」面板(右下方),否則它將不起作用!
HTH
document.onkeyup = function(event) {
if (###event.keyCode corresponds to a letter or numeral###)
document.location.href = "/login";
else
event.preventDefault();
}
您還可以看到演示爲http://api.jquery.com/keypress/,如果你想簡化使用jQuery你的生活。
<script type="text/javascript">
document.onkeyup = function (e) {
var patt =/\w/g;
var key = String.fromCharCode(e.keyCode);
if (patt.test(key))
document.location.href = "/login";
}
</script>
優秀的答案,謝謝卡爾。 – sscirrus 2011-05-24 21:26:16