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

巧用正則表達式實現JavaScript的用戶輸入校驗

2013-04-29 12:53:23林海菁
西江月·中旬 2013年7期
關鍵詞:用戶方法

林海菁

【摘要】在Web程序中,常常需要使用JavaScript腳本進行用戶輸入校驗,避免非法數據傳遞到服務端。正則表達式是對字符串操作的一種邏輯公式,用事先定義好的一些特定字符及其組合,組成一個“規則字符串”,用來表達對字符串的一種過濾邏輯。采用正則表達式可以輕松地解決Web程序客戶端用戶輸入校驗的問題。

【關鍵詞】正則表達式;JavaScript腳本;用戶輸入校驗

一、引言

在Web程序中,為了實現網頁上的動態功能,需要使用腳本語言進行編程處理。通過腳本,可以動態控制網頁的外觀和內容,可以控制瀏覽器的行為,可以實現用戶交互操作,可以讀寫部分客戶端信息,等等。其中驗證用戶輸入表單的信息這一功能在大大小小的Web程序中普遍存在,是所有Web程序開發者都要解決的問題。本文介紹了如何利用正則表達式完美實現客戶端的用戶輸入校驗。由于客戶端腳本語言種類比較多,本文就以比較流行的JavaScript為例進行說明。

二、創建正則表達式

正則表達式,又稱正規表示法、常規表示法,是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規則字符串”,這個“規則字符串”用來表達對字符串的一種過濾邏輯。正則表達式具有極強的靈活性、邏輯性和功能性,可以迅速地用極簡單的方式達到字符串的復雜控制,但是對于剛接觸的人來說,它又顯得非常晦澀難懂。

在JavaScript中,正則表達式由RegExp對象表示。可以使用RegExp( )構造函數創建RegExp對象,其語法格式如下所示:

var 對象變量名=new RegExp(“正則表達式模式字符串”)

JavaScript還提供正則表達式直接量這種語法從而更方便地創建JavaScript正則表達式,它用包含在一對斜杠(/)之間的字符來表示正則表達式,這是比較常見的創建正則表達式的方法,其語法格式如下所示:

var 對象變量名=/正則表達式模式字符串/

無論采取哪種形式,創建一個RegExp對象都是比較容易的。比較晦澀難懂的地方在于正則表達式的語法,即如何描述字符的模式。

三、正則表達式語法

一個正則表達式是由普通字符(如數字、字母)以及特殊字符(稱為元字符)組成的字符模式。正則表達式作為一個模板,將某個字符模式與給定的字符串進行匹配。

正則表達式中使用的元字符比較多,限于篇幅,本文只給出一些常用的操作符進行說明,其它未作說明的可以觸類旁通。

四、運用正則表達式的方法

在JavaScript腳本中,運用正則表達式檢查字符串信息是否匹配有以下兩種方法:

1、調用正則表達式對象的常用方法

(1)exec(string)方法:該方法對string進行匹配檢查,并返回匹配結果。符合將返回結果“true”,否則返回結果“false”。

(2)test(string)方法:該方法用于測試string是否含有匹配結果,如果包含將返回結果“true”,否則返回結果“false”。

2、調用內置對象String的正則表達式方法

(1)match(pattern)方法:該方法根據正則表達式字符模式pattern對String對象的字符串進行正則匹配,如果匹配到,返回匹配結果,如果匹配不到則返回null。

(2)search(pattern)方法:該方法根據pattern對字符串進行正則匹配,如果匹配到一個結果,則返回它的索引數,否則返回-1。

(3)replace(pattern, replacement)方法:該方法根據pattern對字符串進行正則匹配,將匹配結果替換為replacement。

(4)split(pattern)方法:該方法根據pattern對字符串進行正則分割,返回一個分割的數組。

五、常用正則表達式

很多通用的用戶輸入信息在多數Web程序中都會出現,如身份證號、郵箱地址、電話號碼等,開發者可以將這些信息的檢查定義成常用的函數,寫在一個js文檔中,供各Web程序隨時調用。以下列舉出一些較復雜的但常用的正則表達式供參考:

1、檢查身份證號

function checkIdCard (s) {

//身份證正則表達式(15位)

var rs1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;

//身份證正則表達式(18位)

Var rs2=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/;

return rs1.test(s) || rs2.test(s);

}

2、檢查字符串中是否含有中文

function hasChinese (s) {

var rs=/[\u4E00-\u9FA5]/g;

return rs.test(s);

}

【參考文獻】

[1]Nicholas C.Zakas.JavaScript高級程序設計[M].人民郵電出版社,2012.

[2]David Flanagan.JavaScript權威指南[M].清華大學出版社,2007.

猜你喜歡
用戶方法
學習方法
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: 精品五夜婷香蕉国产线看观看| 青青久久91| 亚洲自偷自拍另类小说| 欧美啪啪视频免码| 91系列在线观看| 天天综合网色| 999国产精品永久免费视频精品久久 | 啊嗯不日本网站| 久久男人资源站| 最新国产你懂的在线网址| 国产第一页第二页| 国产女人18水真多毛片18精品 | 亚洲精品波多野结衣| AV不卡在线永久免费观看 | 美女裸体18禁网站| 国产丝袜91| 操国产美女| 国产精品嫩草影院av| 亚洲精品在线观看91| 五月婷婷导航| 亚洲色偷偷偷鲁综合| 欧美日韩国产综合视频在线观看| 免费在线国产一区二区三区精品| 欧美自拍另类欧美综合图区| 波多野结衣的av一区二区三区| 欧美成人aⅴ| 亚洲无码视频图片| 亚洲国产成人超福利久久精品| 欧美日韩福利| 在线观看亚洲精品福利片| 高h视频在线| 亚洲欧美人成电影在线观看| 九色综合视频网| 一级黄色片网| 成人福利在线免费观看| 亚洲中久无码永久在线观看软件| 在线播放91| 小蝌蚪亚洲精品国产| 国产欧美精品一区二区| 日韩在线视频网站| 婷婷伊人五月| 国产91无毒不卡在线观看| 在线观看欧美精品二区| 国产成人永久免费视频| 色噜噜综合网| 亚洲人成电影在线播放| 免费人成网站在线观看欧美| 色综合a怡红院怡红院首页| 99在线国产| 国产精品手机在线观看你懂的| 国产导航在线| 91精品福利自产拍在线观看| 国产区精品高清在线观看| 欧美激情,国产精品| 亚洲区视频在线观看| 国产精品无码AV中文| 欧美日本在线播放| 一级毛片在线播放免费| 大乳丰满人妻中文字幕日本| 国产精品午夜福利麻豆| 亚洲无线一二三四区男男| 女人毛片a级大学毛片免费| 成人精品在线观看| 午夜一区二区三区| 精品成人一区二区| 在线观看免费人成视频色快速| 久久久久久久蜜桃| aa级毛片毛片免费观看久| 欧美日韩在线亚洲国产人| 免费毛片a| 久久精品电影| 亚洲有码在线播放| 日本成人不卡视频| 欧美一区二区自偷自拍视频| 久热精品免费| 欧美第二区| 国产成人综合亚洲欧美在| 91综合色区亚洲熟妇p| 福利一区三区| 狠狠操夜夜爽| 欧美亚洲欧美| lhav亚洲精品|