首頁 web前端 js教程 Javascript控制input輸入時間格式的方法_javascript技巧

Javascript控制input輸入時間格式的方法_javascript技巧

May 16, 2016 pm 04:17 PM
input javascript 方法 時間格式 輸入

本文實例講述了Javascript控制input輸入時間格式的方法。分享給大家供大家參考。具體分析如下:

之前做了一個Javascript控制時間格式的輸入,主要用到了keydown和keyup兩個事件,但感覺寫的很複雜而且還有bug。

今日了解了一下keypress事件與keydown和keyup的差別。大致如下(目前只了解這麼多):

keydown:按鍵按下的時候觸發,透過event可以取得到keyCode,可以取得到文字方塊輸入之前的值;

keyup:按鍵彈出(鬆開)時觸發,透過event可以取得到keyCode,可以取得到文字方塊輸入之後的值;

keypress:此事件在Chrome和IE中基本上相同,但Firefox有點不同;

1、在Chrome和IE中:只要按下的鍵能在文字方塊中出現字元則會觸發(如輸入字母、數字、符號等),透過event可以取得到keyCode,event.key為undefined;不能出現字元的則不會觸發(如方向鍵、Home、Backspace等)

2、在火狐中:字母、數字、符號、方向、退格等按鍵皆能觸發,均可透過event.key取得按鍵名,若所按的鍵能輸出字元則event.keyCode為0,如果無法輸出字元則event.keyCode為對應的ASCII碼

回到正題,先直接看程式碼(上面提到的event就相當於下面程式碼中的e):

複製程式碼 程式碼如下:
var isFF = /firefox/i.test(navigator.userAgent);
$("input").on({
    keyup : function (e) {
        !/^[d:] $/.test(e.target.value) && (e.target.value = "");
    },
    keypress : function (e) {
        if (isFF && e.keyCode !== 0) {
            /// 在火狐中按任意鍵都會觸發keypress事件,而在IE/Chrome中只有按下能輸出字元的按鍵才會觸發
            /// 針對火狐,而e.keyCode!==0則按下了退格、方向、Home等按鍵之一
        } else {
            if (e.target.value.length > 7)
                return 稱為;
            if (/d{2}$/.test(e.target.value)) {
                e.target.value = ':';
            }
            var char = String.fromCharCode(e.keyCode === 0 ? e.which : e.keyCode);
            if (!/^d/.test(char))
                return 稱為;
        }
    }
});

透過isFF && e.keyCode !== 0來區分Firefox能輸出字元的按鍵和不能輸出字元的按鍵,由於Firefox中e.keyCode不一定能取到值,所以使用了e.which來取代。

keyup是用來處理使用輸入法時能輸入中文或字母的問題。

透過String.fromCharCode()得到ASCII碼對應的字元。

希望本文所述對大家的javascript程式設計有所幫助。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

怎麼在番茄免費小說app中寫小說 分享番茄小說寫小說方法教程 怎麼在番茄免費小說app中寫小說 分享番茄小說寫小說方法教程 Mar 28, 2024 pm 12:50 PM

怎麼在番茄免費小說app中寫小說 分享番茄小說寫小說方法教程

七彩虹主機板怎麼進入bios?教你兩種方法 七彩虹主機板怎麼進入bios?教你兩種方法 Mar 13, 2024 pm 06:01 PM

七彩虹主機板怎麼進入bios?教你兩種方法

華為手機怎麼調24小時時間格式 秒懂:華為榮耀手機設定24小時時間 華為手機怎麼調24小時時間格式 秒懂:華為榮耀手機設定24小時時間 Mar 26, 2024 am 11:11 AM

華為手機怎麼調24小時時間格式 秒懂:華為榮耀手機設定24小時時間

微信刪除的人如何找回(簡單教學告訴你如何恢復被刪除的聯絡人) 微信刪除的人如何找回(簡單教學告訴你如何恢復被刪除的聯絡人) May 01, 2024 pm 12:01 PM

微信刪除的人如何找回(簡單教學告訴你如何恢復被刪除的聯絡人)

Win11管理員權限取得方法總計 Win11管理員權限取得方法總計 Mar 09, 2024 am 08:45 AM

Win11管理員權限取得方法總計

快速掌握:華為手機開啟兩個微信帳號方法大揭密! 快速掌握:華為手機開啟兩個微信帳號方法大揭密! Mar 23, 2024 am 10:42 AM

快速掌握:華為手機開啟兩個微信帳號方法大揭密!

手機版龍蛋孵化方法大揭密(一步一步教你如何成功孵化手機版龍蛋) 手機版龍蛋孵化方法大揭密(一步一步教你如何成功孵化手機版龍蛋) May 04, 2024 pm 06:01 PM

手機版龍蛋孵化方法大揭密(一步一步教你如何成功孵化手機版龍蛋)

Oracle版本查詢方法詳解 Oracle版本查詢方法詳解 Mar 07, 2024 pm 09:21 PM

Oracle版本查詢方法詳解

See all articles