日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
手把手教你使用JavaScript實現(xiàn)限定輸入內(nèi)容

一、前言

在Web項目開發(fā)中,經(jīng)常會遇到一些只能輸入固定內(nèi)容的文本框。例如,只可以輸入字母、數(shù)字的文本框等,本文的案例是利用正則表達式語法來實現(xiàn)只可以輸入四位數(shù)的年份、一位數(shù)或二位數(shù)的月份。接下來,小編大家一起來學(xué)習(xí),如何實現(xiàn)限定輸入內(nèi)容!

創(chuàng)新互聯(lián)公司是一家專業(yè)提供華亭企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、成都網(wǎng)站設(shè)計、html5、小程序制作等業(yè)務(wù)。10年已為華亭眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計公司優(yōu)惠進行中。

二、項目準備

開發(fā)工具:HBuilderX

瀏覽器:Google Chrome瀏覽器

三、項目目標

1.掌握正則表達式的語法。

2.學(xué)會應(yīng)用正則表達式。

3.掌握焦點事件和失去焦點事件。

四、項目實現(xiàn)

HTML

 
 
 
 
  1.       
  2.           

    限定輸入內(nèi)容

  3.       
  •       
  •           
  •       
  •       
  •       
  •           年份
  •           月份
  •       
  •       
  •   
  •   
  •   
  • 在上面代碼中,div的id為box相當于一個大盒子,id為box_01、box_02、box_03相當于一個小盒子,這些小盒子依次放入大盒子中。

    id為box_01主要是放置標題;

    id為box_02主要是放置圖片;

    id為box_02主要是放置表單;

    id為res是用來檢驗?zāi)攴莺驮路葺斎胧欠裾_提示信息。

    CSS3

     
     
     
     
    1. #box{
    2.         width: 800px;
    3.         height: 430px;
    4.         display: flex;
    5.         text-align: center;
    6.         flex-direction: column;
    7.         justify-content: center;
    8.     }
    9.     #box_01{
    10.         width: 800px;
    11.         height: 70px;
    12.         color: #0086B3;
    13.     }
    14.     img{
    15.         width: 400px;
    16.         height: 300px;
    17.     }
    18.     #box_02{
    19.         width: 800px;
    20.         height: 310px;
    21.     }
    22.     #box_03{
    23.         width: 800px;
    24.         height: 50px;
    25.     }
    26.     #res{
    27.         width: 800px;
    28.         height: 100px;
    29.         font-weight: bold;
    30.         text-align: center;
    31.     }

    在上面代碼中,#box表示大盒子的樣式,寬度和高度分別為800、430px,使用彈性布局display: flex。

    flex-direction屬性表示控制主軸的方向,colum表示垂直方向。

    justify-content屬性表示項目在主軸上的對齊方式,center表示中間。

    #box_01、#box_02、#box_03主要是設(shè)置div塊的寬度和高度。

    #res設(shè)置div塊寬度、高度、字體加粗(font-weight)、文字對齊方式(text-align)。

    JavaScript

    1.首先是獲取操作元素的對象

     
     
     
     
    1. var f=document.getElementById('form')
    2. var res=document.getElementById('res')
    3. var ipc=document.getElementsByTagName('input')

    在上面代碼中,使用document.getElementById()方法獲取操作元素對象的id,document.getElementsByTagName()方法是返回帶有標簽名的對象集合。

    2.檢驗?zāi)攴莺瘮?shù)chooseYear()

     
     
     
     
    1. function chooseYear(y){
    2.     if(!y.value.match(/^\d{4}$/)){
    3.         y.style.borderColor='yellow';
    4.         res.innerHTML='您的輸入有誤,年份需要4位數(shù)字';
    5.         return false;
    6.     }
    7.     alert('年份格式輸入正確')
    8.     return true;
    9. }

    在上面代碼中,chooseYear(y)函數(shù)中的y參數(shù)表示年份元素的一個對象,通過獲取y的value值,然后使用match()方法進行正則匹配。

    如果年份不是四位數(shù),通過設(shè)置文本框的邊框顏色為黃色,獲取id為res,插入提示信息的內(nèi)容。

    如果年份是四位數(shù),則使用alert()方法,彈出一個彈框顯示“年份格式輸入正確”。

    3.檢驗月份函數(shù)chooseMonth()

     
     
     
     
    1. function chooseMonth(m){
    2.     if(!m.value.match(/^((0?[1-9])|(1[012]))$/)){
    3.         m.style.borderColor='yellow';
    4.         res.innerHTML='您的輸入有誤,月份1~12范圍內(nèi)'
    5.         return false;
    6.     }
    7.     alert('月份格式輸入正確')
    8.     return true;
    9. }

    在上面代碼中,chooseMonth(m)函數(shù)中的m參數(shù)表示月份元素的一個對象,通過獲取m的value值,然后使用match()方法進行正則匹配。

    ”(0?[1-9])“表示前面有0或沒有0的表示第一月份到第九月份;

    “(1[012])”表示第十月份到十二月份。

    4.設(shè)置年份和月份焦點事件

     
     
     
     
    1. ipc.year.onfocus=function(){
    2.     this.style.borderColor='blue'
    3. }
    4. ipc.month.onfocus=function(){
    5.     this.style.borderColor='blue'
    6. }

    在上面代碼中,用戶點擊年份和月份輸入框,設(shè)置焦點事件,之后,設(shè)置文本框的顏色為藍色。

    5.設(shè)置年份和月份失去焦點——主要是用來優(yōu)化用戶的體檢效果

     
     
     
     
    1. ipc.year.onblur=function(){
    2.     this.value=this.value.trim();
    3.     chooseYear(this);
    4. }
    5. ipc.month.onblur=function(){
    6.     this.value=this.value.trim();
    7.     chooseMonth(this);
    8. }

    在上面代碼中,trim()方法是去掉兩端的空格。

    6.檢驗提交的表單

     
     
     
     
    1. f.onsubmit=function(){
    2.     return chooseYear(ipc.year)&&chooseMonth(ipc.month)
    3. };

    在上面代碼中,表單提交時,調(diào)用chooseYear()和chooseMonth()函數(shù)檢驗?zāi)攴莺驮路荨?/p>

    效果圖如下所示:

    五、總結(jié)

    1.本文基于JavaScript基礎(chǔ),實現(xiàn)限定輸入內(nèi)容的功能。對每一個div層進行詳解,讓讀者更好的理解。

    2.在JavaScript中首先獲取操作元素的對象,事件處理函數(shù)年份和月份分別是chooseYear()、chooseMonth()。chooseYear(y)和chooseMonth(m)函數(shù)中獲取年份元素和月份元素對象,之后,獲取它們的value值,使用match()方法進行正則匹配。為了用戶的體檢效果添加焦點事件和失去焦點事件。

    3.代碼沒有那么復(fù)雜,希望對你有所幫助!


    文章名稱:手把手教你使用JavaScript實現(xiàn)限定輸入內(nèi)容
    文章轉(zhuǎn)載:http://www.dlmjj.cn/article/djggsgp.html