最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Javascript控制input輸入時(shí)間格式的方法

 更新時(shí)間:2015年01月28日 12:04:03   投稿:shichen2014  
這篇文章主要介紹了Javascript控制input輸入時(shí)間格式的方法,涉及鼠標(biāo)事件及正則表達(dá)式的靈活應(yīng)用,需要的朋友可以參考下

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

之前做了一個(gè)Javascript控制時(shí)間格式的輸入,主要用到了keydown和keyup兩個(gè)事件,但感覺寫的很復(fù)雜而且還有bug。

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

keydown:按鍵按下的時(shí)候觸發(fā),通過event可以獲取到keyCode,可以獲取到文本框輸入之前的值;

keyup:按鍵彈出(松開)時(shí)觸發(fā),通過event可以獲取到keyCode,可以獲取到文本框輸入之后的值;

keypress:此事件在Chrome和IE中基本相同,但Firefox有點(diǎn)不一樣;

1、在Chrome和IE中:只要按下的鍵能在文本框中出現(xiàn)字符則會(huì)觸發(fā)(如輸入字母、數(shù)字、符號(hào)等),通過event可以獲取到keyCode,event.key為undefined;不能出現(xiàn)字符的則不會(huì)觸發(fā)(如方向鍵、Home、Backspace等)

2、在火狐中:字母、數(shù)字、符號(hào)、方向、退格等按鍵均能觸發(fā),均可以通過event.key獲取按鍵名,如果所按的鍵能輸出字符則event.keyCode為0,如果不能輸出字符則event.keyCode為對(duì)應(yīng)的ASCII碼

回到正題,先直接看代碼(上面提到的event就相當(dāng)于下面代碼中的e):

復(fù)制代碼 代碼如下:
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) {
            /// 在火狐中按任意鍵都會(huì)觸發(fā)keypress事件,而在IE/Chrome中只有按下能輸出字符的按鍵才會(huì)觸發(fā)
            /// 針對(duì)火狐,e.keyCode!==0則按下了退格、方向、Home等按鍵之一
        } else {
            if (e.target.value.length > 7)
                return false;
            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 false;
        }
    }
});

通過isFF && e.keyCode !== 0來區(qū)分Firefox能輸出字符的按鍵和不能輸出字符的按鍵,由于Firefox中e.keyCode不一定能取到值,所以使用了e.which來取代。

keyup是用于處理使用輸入法時(shí)能輸入中文或字母的問題。

通過String.fromCharCode()得到ASCII碼對(duì)應(yīng)的字符。

希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 在JavaScript中調(diào)用Java類和接口的方法

    在JavaScript中調(diào)用Java類和接口的方法

    這篇文章主要講述如何在JavaScript腳本語言中調(diào)用Java類和接口,對(duì)大家的學(xué)習(xí)和工作有一定的參考借鑒價(jià)值,有需要的朋友們下面來一起看看吧。
    2016-09-09
  • 解決頁面js接受Long型損失精度問題(最新解決方案)

    解決頁面js接受Long型損失精度問題(最新解決方案)

    這篇文章主要介紹了解決頁面js接受Long型損失精度問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • jsonp跨域獲取數(shù)據(jù)的基礎(chǔ)教程

    jsonp跨域獲取數(shù)據(jù)的基礎(chǔ)教程

    這篇文章主要給大家介紹了關(guān)于jsonp跨域獲取數(shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • JS模擬實(shí)現(xiàn)串行加法器

    JS模擬實(shí)現(xiàn)串行加法器

    這篇文章主要為大家詳細(xì)介紹了JS模擬實(shí)現(xiàn)串行加法器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 微信小程序模板之分頁滑動(dòng)欄

    微信小程序模板之分頁滑動(dòng)欄

    這篇文章主要為大家詳細(xì)介紹了微信小程序模板之分頁滑動(dòng)欄的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • 計(jì)算黃金分割的javascript代碼

    計(jì)算黃金分割的javascript代碼

    計(jì)算黃金分割的javascript代碼...
    2007-07-07
  • JavaScript動(dòng)態(tài)綁定詳解

    JavaScript動(dòng)態(tài)綁定詳解

    這篇文章主要為大家詳細(xì)介紹了JavaScript動(dòng)態(tài)綁定,關(guān)于JavaScript中為元素綁定的事件失效的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • template.js前端模板引擎使用詳解

    template.js前端模板引擎使用詳解

    本篇文章主要介紹了template.js前端模板引擎使用詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • 原生js實(shí)現(xiàn)上傳圖片控件

    原生js實(shí)現(xiàn)上傳圖片控件

    這篇文章主要為大家詳細(xì)介紹了原生js實(shí)現(xiàn)上傳圖片控件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • JavaScript實(shí)現(xiàn)10秒后再次獲取驗(yàn)證碼

    JavaScript實(shí)現(xiàn)10秒后再次獲取驗(yàn)證碼

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)10秒后再次獲取驗(yàn)證碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12

最新評(píng)論

南靖县| 卢湾区| 阿合奇县| 普格县| 集安市| 绵竹市| 长宁县| 高台县| 清水河县| 大宁县| 溧水县| 长岭县| 房产| 岢岚县| 保德县| 延寿县| 承德县| 鸡东县| 二连浩特市| 通江县| 汝城县| 博兴县| 邢台县| 陆丰市| 盐城市| 博野县| 赤壁市| 桃园县| 桐梓县| 建平县| 麟游县| 开封县| 双江| 乐业县| 岫岩| 广元市| 葵青区| 上蔡县| 文安县| 东阿县| 苍溪县|