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
主站蜘蛛池模板: 中文字幕在线日本| 免费人成在线观看成人片| 一本大道AV人久久综合| 国产欧美又粗又猛又爽老| 欧美日韩精品一区二区视频| 九九热在线视频| 久久77777| a毛片免费观看| 干中文字幕| 99在线视频免费| 亚洲人成网址| 国产精品无码一二三视频| 国产菊爆视频在线观看| 日本高清视频在线www色| 亚洲男人的天堂久久香蕉| 国产在线视频自拍| 免费a级毛片视频| 中国一级毛片免费观看| 国产三级国产精品国产普男人| 亚洲一级毛片免费看| 久久久久久高潮白浆| 国产丰满成熟女性性满足视频| 制服丝袜在线视频香蕉| www亚洲天堂| 亚洲高清中文字幕| 日本三级欧美三级| 71pao成人国产永久免费视频| 亚洲第一成网站| 亚洲成a人在线观看| h网址在线观看| 久久久久青草线综合超碰| 国产成人精品2021欧美日韩| 精品欧美视频| 国产麻豆va精品视频| 色老二精品视频在线观看| 久久99国产视频| 国产欧美专区在线观看| 天天综合天天综合| 成人无码一区二区三区视频在线观看| 欧美色综合网站| 国产极品美女在线观看| 亚洲清纯自偷自拍另类专区| a色毛片免费视频| 久久情精品国产品免费| 久青草免费视频| AV无码国产在线看岛国岛| 国产在线精彩视频二区| 在线观看免费AV网| 国产精品私拍在线爆乳| 亚洲精品中文字幕无乱码| 无码国产伊人| 午夜国产大片免费观看| 影音先锋亚洲无码| 免费Aⅴ片在线观看蜜芽Tⅴ | 五月婷婷激情四射| 国产精品毛片在线直播完整版| 日本成人一区| 无码AV动漫| 国产性精品| 色天天综合| 久久人妻xunleige无码| 99久久免费精品特色大片| 小说区 亚洲 自拍 另类| 国产不卡一级毛片视频| 美女视频黄频a免费高清不卡| 久久国产精品无码hdav| 97综合久久| www.亚洲天堂| 亚洲综合极品香蕉久久网| 国产精品亚洲专区一区| 亚洲精品桃花岛av在线| 这里只有精品国产| 91精品国产自产91精品资源| 国产打屁股免费区网站| 熟妇丰满人妻| 国产日韩欧美精品区性色| 欧美yw精品日本国产精品| 亚洲综合狠狠| 小13箩利洗澡无码视频免费网站| 无码中文字幕精品推荐| 色综合狠狠操| 欧美成a人片在线观看|