999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

正則表達式在網頁表單驗證中的應用

2017-04-25 02:32:39孫立友梁宏英
數字技術與應用 2017年1期

孫立友+梁宏英

摘要:在網站制作,尤其是應用B/S(Browser/Server,瀏覽器/服務器)架構的動態網站,表單扮演了非常重要的角色,它是客戶端向服務器提交數據的載體。為了保證表單提交數據的合法性,需要對提交的某些關鍵數據進行驗證。本文主要論述如何應用正則表達式驗證表單數據,并給出了幾類常用的表單驗證正則表達式。

關鍵詞:表單;正則表達式;網站制作

中圖分類號:TP31 文獻標識碼:A 文章編號:1007-9416(2017)01-0236-01

正則表達式是用于模式匹配和替換的有力工具,它既可以用于數據有效性驗證,如測試字符串是否匹配某種模式;又可以用于替換文本,即在文檔中使用正則表達式查找標識特定文字,然后進行替換或刪除;還可以根據模式匹配從字符串中提取一個子字符串,用來在指定文本或輸入數據中查找特定文字。正則表達式功能十分強大,但是又非常簡潔。本文主要闡述正則表達式的基本內涵,及它在網站表單數據驗證中的應用。

1 正則表達式概述

正則表達式,又稱正規表示法、常規表示法(Regular Expression,常簡寫為regex、regexp或RE),在計算機科學中,是指一個用來描述或者匹配一系列符合某個句法規則的字符串的單個字符串,即用事先定義好的一些特定字符及這些字符的組合,組成一個“規則字符串”,用來表達對字符串的一種過濾邏輯。所謂匹配,是指在給定的字符串中,查找與給定的正則表達式相匹配的部分,滿足條件的可能不止一個,每一個滿足條件的部分都被稱為一個匹配。例如,最簡單正則表達式"is"可以匹配“this”、“his”等字符串,但是不能匹配"Island"。

給定一個正則表達式和另一個字符串,可以驗證給定的字符串是否符合正則表達式的過濾邏輯(又稱“匹配”),或者可以從字符串中獲取我們想要的特定部分。在編寫處理字符串的程序或網頁時,經常需要驗證或查找符合某些復雜規則的字符串,正則表達式就非常適用于描述這些復雜的文本規則。因為正則表達式的主要應用對象是文本,所以可以說正則表達式是用于文本匹配的工具。

2 正則表達式語法

正則表達式主要由普通字符和特殊字符(又稱元字符)組成。普通字符主要包含英文字母a-z/A-Z、數字0-9等,而特殊字符都具有特殊的含義,比如,特殊字符“\d”可以匹配任意一位數字,而“\w”則可以匹配字母、數字或下劃線字符,還有匹配子表達式出現次數的“*”(任意次)、“+”(至少一次)、“?”(零次或一次)等特殊字符。

例如查找“is”,可以使用最簡單的由普通字符組成的正則表達式“is”,匹配含有“is”的字符串,但是很多單詞如this、his、kiss等都包含“is”,因此若要精確匹配查找“is”,不能只用“is”正則查找,而是應該使用正則表達式“\bis\b”(“\b”是一個特殊字符,它用來匹配一個單詞的邊界,即匹配單詞的開頭或結尾)。

3 應用正則表達式驗證表單數據

在網站開發,尤其是動態網站開發方面,表單是客戶端向服務器提交數據的重要載體,扮演者非常重要的角色。如何驗證表單提交數據的合法性也成為一個大問題。為了驗證提交數據的合法性,開發人員可能需要寫很多的驗證函數,這給開發工作帶來很大的困擾,而應用正則表達式驗證提交數據則很大提高了代碼的可重用性,并提高了開發效率。

通常表單數據的驗證主要有兩方面:一方面是判斷用戶輸入的數據是否合法;另一方面是提示用戶的數據為什么是不合法的。在表單數據中,通常需要驗證的內容有字符串(如以字母開頭、規定長度等)、郵政編碼、電話號碼、電子郵件、手機號碼、身份證號碼等。

4 常用的表單驗證正則表達式

在網站開發時,復雜的表單驗證經常需要使用正則表達式,在實際應用中,表單中常用的幾類正則表達式如下。

(1)/^[a-zA-Z][\w -]{n,m}$/:驗證以字母開頭、包含字母、數字、下劃線、連接符- ,且長度在(n+1)-(m+1)之間的字符串。

(2)/^[\u4E00-\u9FA5]+$/:驗證輸入的數據只能為中文。

(3)/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/:驗證輸入的Email格式是否正確。

(4)/^\d{15}$|^\d{17}([0-9]|X)$/或者/^\d{15}$|^\d{17}([0-9]|X)$:驗證身份證號碼(身份證號碼為15位或者18位,15位時全為數字,18位時前17位為數字,最后一位是校驗位,可能為數字或字符X)。

(5)/^[1-9]\d{5}$/:驗證中國郵政編碼。

(6)/^[1-9][0-9]{4,}$/:用于驗證QQ號碼,QQ號碼最少是5位。

(7)/^1\d{10}$/:驗證大陸手機號碼。

5 結語

正則表達式是用來操作文本和數據的強大工具,它具有易用、靈活、功能強大的優點,而且還可以將那些原本復雜、繁瑣的文本處理過程變成可自動處理的工作。應用正則表達式處理復雜字符操作,不僅可以提高工作效率,而且也可以在一定程度上節省代碼量。

但是,對于初學者來說,正則表達式的語法比較晦澀難懂,原理比較復雜,不容易被學習和掌握。而且,如果正則表達式寫得不合理,很容易導致性能問題,所以只有清楚地理解正則引擎的執行方式,才能寫出好的正則表達式。

參考文獻

[1]Jeffrey E.F.Friedl著,余晟譯.精通正則表達式(第3版).電子工業出版社,2012.

[2]Micbael Fitzgerald.正則表達式入門.東南大學出版社,2013.

[3]Jan Goyvaerts Steven Levithan著 郭耀 遲騁譯.正則表達式經典實例(第2版).人民郵電出版社,2014.

主站蜘蛛池模板: 国产精品嫩草影院av| 老司机aⅴ在线精品导航| 欧美激情视频一区| 白浆免费视频国产精品视频| 亚洲欧美一区二区三区麻豆| 国产杨幂丝袜av在线播放| 精品一區二區久久久久久久網站| 伊人狠狠丁香婷婷综合色| 免费又爽又刺激高潮网址| 亚洲黄网在线| 最近最新中文字幕在线第一页| 青青草一区二区免费精品| 中文国产成人精品久久| 波多野结衣亚洲一区| 国产三级成人| 欧美 国产 人人视频| 久久亚洲中文字幕精品一区| 亚洲天堂网站在线| 丁香六月综合网| 欧美成人国产| 国产综合在线观看视频| 国产欧美视频综合二区| 成人欧美日韩| 国产后式a一视频| 午夜欧美在线| 亚洲欧洲一区二区三区| 国产精品区视频中文字幕| 国产91麻豆免费观看| 国产欧美日韩精品第二区| 99re66精品视频在线观看| 国产正在播放| 久久精品国产免费观看频道| a级毛片免费网站| 九色视频最新网址| 日韩成人在线一区二区| 亚洲第一成年人网站| 超级碰免费视频91| 日韩美毛片| 亚洲资源在线视频| 国产主播福利在线观看| 亚瑟天堂久久一区二区影院| 尤物成AV人片在线观看| 国产AV毛片| 精品撒尿视频一区二区三区| 伊人成人在线| 色婷婷综合在线| 久久免费成人| 99re在线视频观看| 女人一级毛片| 精品亚洲国产成人AV| 无码粉嫩虎白一线天在线观看| 色综合天天综合中文网| 91福利在线观看视频| 视频二区欧美| 亚洲欧美日本国产综合在线 | 99在线视频免费观看| 欧美97色| 国产成人精品一区二区三在线观看| 亚洲男人的天堂在线观看| 亚洲永久精品ww47国产| 久久国产精品影院| 日韩天堂在线观看| 91成人免费观看| 4虎影视国产在线观看精品| 国产白浆一区二区三区视频在线| 成年A级毛片| 精品成人免费自拍视频| 国产成人亚洲精品色欲AV| 69综合网| 成人免费黄色小视频| 国产在线精彩视频论坛| 久草视频一区| 久草性视频| 国产午夜一级毛片| 麻豆国产在线观看一区二区 | 无码视频国产精品一区二区| 成年人福利视频| 大陆国产精品视频| 精品国产欧美精品v| 香蕉网久久| 免费A∨中文乱码专区| 99久久人妻精品免费二区|