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.

主站蜘蛛池模板: 国产区91| 99久久亚洲综合精品TS| 玖玖免费视频在线观看| 亚洲成人一区二区三区| 内射人妻无套中出无码| 69国产精品视频免费| 中文字幕亚洲综久久2021| 亚洲欧美一级一级a| 欧美色视频日本| 狠狠色综合久久狠狠色综合| 97国产在线视频| 欧美成人影院亚洲综合图| 国产成人毛片| 免费大黄网站在线观看| 日韩第一页在线| 亚洲水蜜桃久久综合网站| 在线免费无码视频| 97超级碰碰碰碰精品| 四虎国产精品永久一区| 亚洲综合色婷婷中文字幕| 久久精品波多野结衣| 高清国产va日韩亚洲免费午夜电影| 成人精品区| 成人午夜精品一级毛片| 亚洲高清无在码在线无弹窗| 一区二区三区四区精品视频| 欧美成人精品一级在线观看| 成年片色大黄全免费网站久久| 亚洲精品福利网站| 国产91视频免费| 日本人妻丰满熟妇区| 91视频首页| 99精品视频九九精品| www精品久久| 亚洲精品你懂的| 色综合天天综合中文网| 亚洲IV视频免费在线光看| 黄色网在线免费观看| 中文字幕亚洲乱码熟女1区2区| 97色婷婷成人综合在线观看| 色香蕉影院| 日本欧美一二三区色视频| 欧美色图久久| 久久毛片免费基地| 人禽伦免费交视频网页播放| 99人妻碰碰碰久久久久禁片| 天天躁日日躁狠狠躁中文字幕| 国产精品无码一二三视频| 亚洲人成电影在线播放| 91在线激情在线观看| 欧美日韩理论| 国产成人免费观看在线视频| 在线日韩一区二区| 狠狠色成人综合首页| 久久黄色影院| 性欧美精品xxxx| 91色爱欧美精品www| 国产特级毛片| 亚洲美女久久| 精品色综合| 免费不卡视频| 四虎永久在线视频| 日韩av电影一区二区三区四区| 在线视频亚洲欧美| 一级黄色片网| 国产精品乱偷免费视频| 亚洲欧美另类色图| 亚洲无码高清一区二区| 欧美性精品| 国产在线精彩视频二区| 波多野结衣一级毛片| 久久精品中文无码资源站| 伊人色综合久久天天| 九九九九热精品视频| 久久中文字幕2021精品| 亚洲高清无在码在线无弹窗| 青青草综合网| 亚洲色图在线观看| 性69交片免费看| 欧美中文字幕在线二区| 亚洲一级色| 狠狠色综合网|