成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

手把手教你使用JavaScript實現(xiàn)限定輸入內(nèi)容

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

[[391037]]

一、前言

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

二、項目準備

開發(fā)工具:HBuilderX

瀏覽器:Google Chrome瀏覽器

三、項目目標

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

2.學會應用正則表達式。

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

四、項目實現(xiàn)

HTML

  1. <div id="box"
  2.       <div id="box_01"
  3.           <h2>限定輸入內(nèi)容</h2> 
  4.       </div> 
  5.       <div id="box_02"
  6.           <img src="img/1.jpg" /> 
  7.       </div> 
  8.       <div id="box_03"
  9.       <form id="form"
  10.           年份<input type="text" name="year" /> 
  11.           月份<input type="text" name="month" /> 
  12.       <input type="submit" value="查詢" /> 
  13.       </form> 
  14.   </div> 
  15.   </div> 
  16.   <div id="res"></div> 

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

id為box_01主要是放置標題;

id為box_02主要是放置圖片;

id為box_02主要是放置表單;

id為res是用來檢驗年份和月份輸入是否正確提示信息。

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主要是設置div塊的寬度和高度。

#res設置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.檢驗年份函數(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

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

如果年份不是四位數(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

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

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

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

4.設置年份和月份焦點事件

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

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

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

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

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

6.檢驗提交的表單

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

在上面代碼中,表單提交時,調(diào)用chooseYear()和chooseMonth()函數(shù)檢驗年份和月份。

效果圖如下所示:

五、總結(jié)

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

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

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

 

責任編輯:姜華 來源: 前端進階學習交流
相關推薦

2021-03-12 10:01:24

JavaScript 前端表單驗證

2025-05-07 00:31:30

2021-07-14 09:00:00

JavaFX開發(fā)應用

2020-05-15 08:07:33

JWT登錄單點

2023-04-26 12:46:43

DockerSpringKubernetes

2022-12-07 08:42:35

2011-01-06 10:39:25

.NET程序打包

2009-11-09 14:57:37

WCF上傳文件

2011-01-10 14:41:26

2011-05-03 15:59:00

黑盒打印機

2021-08-02 07:35:19

Nacos配置中心namespace

2025-01-13 09:07:12

2022-02-17 10:26:17

JavaScript掃雷游戲前端

2022-07-22 12:45:39

GNU

2022-10-30 10:31:42

i2ccpuftrace

2021-12-15 08:49:21

gpio 子系統(tǒng)pinctrl 子系統(tǒng)API

2011-02-22 13:46:27

微軟SQL.NET

2021-02-26 11:54:38

MyBatis 插件接口

2021-12-28 08:38:26

Linux 中斷喚醒系統(tǒng)Linux 系統(tǒng)

2011-04-21 10:32:44

MySQL雙機同步
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: www.五月天婷婷.com | 久久在线 | 欧美激情精品久久久久久变态 | 日韩免费一区二区 | 午夜精品影院 | 国产精品欧美精品 | 午夜av毛片| 亚洲天堂精品久久 | 亚洲一区在线播放 | 欧美午夜精品 | 成人在线视 | 亚洲综合成人网 | 亚洲91精品 | 国产成人久久 | 精品欧美一区二区三区 | 久久久www成人免费无遮挡大片 | 国产精品久久久久国产a级 欧美日韩国产免费 | 亚洲永久免费观看 | 91色视频在线观看 | 亚洲一区 | 国产情侣啪啪 | 午夜伊人| 国产精品亚洲成在人线 | 亚洲乱码一区二区 | 国产精品无码久久久久 | 午夜av电影 | 亚洲一区免费 | 久久久久国产一区二区三区不卡 | 久热伊人 | 国产精品久久午夜夜伦鲁鲁 | 亚洲精品www | 成人午夜免费福利视频 | 久久精品一区 | 中文字幕韩在线第一页 | 免费在线观看成年人视频 | 亚洲一页| 女同久久另类99精品国产 | 嫩草视频免费 | 国产精品视频网 | 午夜tv免费观看 | 国产伊人精品 |