国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 16:15:25
字體:
供稿:網(wǎng)友
這篇文章主要介紹了Javascript控制input輸入時間格式的方法,涉及鼠標事件及正則表達式的靈活應用,需要的朋友可以參考下
 

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

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

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

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

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

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

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

2、在火狐中:字母、數(shù)字、符號、方向、退格等按鍵均能觸發(fā),均可以通過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) {
            /// 在火狐中按任意鍵都會觸發(fā)keypress事件,而在IE/Chrome中只有按下能輸出字符的按鍵才會觸發(fā)
            /// 針對火狐,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是用于處理使用輸入法時能輸入中文或字母的問題。

通過String.fromCharCode()得到ASCII碼對應的字符。

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


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 康定县| 江都市| 莲花县| 北辰区| 孝感市| 梅州市| 武城县| 马关县| 东宁县| 茂名市| 博乐市| 广昌县| 白山市| 浠水县| 新兴县| 祁连县| 福海县| 衡南县| 锦屏县| 息烽县| 临海市| 博乐市| 泰州市| 宣城市| 克山县| 名山县| 湖州市| 梅州市| 铜川市| 望江县| 方城县| 广饶县| 扬中市| 凌海市| 长丰县| 和平区| 汝城县| 鄂温| 柳林县| 鹿邑县| 璧山县|