RegexKitLite正則表達(dá)式

1乏冀、首先從github下載RegexKitLite(地址:https://github.com/wezm/RegexKitLite)妥衣。

2赘阀、將文件RegexKitLite.m和.h導(dǎo)入到工程万细。

3渴庆、由于該庫(kù)比較老,不支持ARC雅镊,因此應(yīng)該為RegexKitLite.m添加編譯標(biāo)記-fno-objc-arc進(jìn)行局部ARC禁止。

4刃滓、添加動(dòng)態(tài)庫(kù)libicucore.dylib仁烹。

5、使用方法

NSString *email = @"iMilo@163.com";

NSString *regex = @"\\b([a-zA-Z0-9%_.+\\-]+)@([a-zA-Z0-9.\\-]+?\\.[a-zA-Z]{2,6})\\b";

if ([email isMatchedByRegex:regex])

{

NSLog(@"通過校驗(yàn)咧虎!");

}

else

{

NSLog(@"未通過校驗(yàn)卓缰,數(shù)據(jù)格式有誤,請(qǐng)檢查砰诵!");

}

}

常用的正則表達(dá)式

匹配中文字符的正則表達(dá)式: [u4e00-u9fa5]

評(píng)注:匹配中文還真是個(gè)頭疼的事征唬,有了這個(gè)表達(dá)式就好辦了

匹配雙字節(jié)字符(包括漢字在內(nèi)):[^x00-xff]

評(píng)注:可以用來(lái)計(jì)算字符串的長(zhǎng)度(一個(gè)雙字節(jié)字符長(zhǎng)度計(jì)2,ASCII字符計(jì)1)

匹配空白行的正則表達(dá)式:ns*r

評(píng)注:可以用來(lái)刪除空白行

匹配HTML標(biāo)記的正則表達(dá)式:<(S*?)[^>]*>.*?|<.*? />

評(píng)注:網(wǎng)上流傳的版本太糟糕茁彭,上面這個(gè)也僅僅能匹配部分总寒,對(duì)于復(fù)雜的嵌套標(biāo)記依舊無(wú)能為力

匹配首尾空白字符的正則表達(dá)式:^s*|s*$

評(píng)注:可以用來(lái)刪除行首行尾的空白字符(包括空格、制表符理肺、換頁(yè)符等等)摄闸,非常有用的表達(dá)式

匹配Email地址的正則表達(dá)式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*

評(píng)注:表單驗(yàn)證時(shí)很實(shí)用

匹配網(wǎng)址URL的正則表達(dá)式:[a-zA-z]+://[^s]*

評(píng)注:網(wǎng)上流傳的版本功能很有限,上面這個(gè)基本可以滿足需求

匹配帳號(hào)是否合法(字母開頭妹萨,允許5-16字節(jié)年枕,允許字母數(shù)字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

評(píng)注:表單驗(yàn)證時(shí)很實(shí)用

匹配國(guó)內(nèi)電話號(hào)碼:d{3}-d{8}|d{4}-d{7}

評(píng)注:匹配形式如 0511-4405222 或 021-87888822

匹配騰訊QQ號(hào):[1-9][0-9]{4,}

評(píng)注:騰訊QQ號(hào)從10000開始

匹配中國(guó)郵政編碼:[1-9]d{5}(?!d)

評(píng)注:中國(guó)郵政編碼為6位數(shù)字

匹配身份證:d{15}|d{18}

評(píng)注:中國(guó)的身份證為15位或18位

匹配ip地址:d+.d+.d+.d+

評(píng)注:提取ip地址時(shí)有用

匹配特定數(shù)字:

^[1-9]d*$    //匹配正整數(shù)

^-[1-9]d*$   //匹配負(fù)整數(shù)

^-?[1-9]d*$   //匹配整數(shù)

^[1-9]d*|0$  //匹配非負(fù)整數(shù)(正整數(shù) + 0)

^-[1-9]d*|0$   //匹配非正整數(shù)(負(fù)整數(shù) + 0)

^[1-9]d*.d*|0.d*[1-9]d*$   //匹配正浮點(diǎn)數(shù)

^-([1-9]d*.d*|0.d*[1-9]d*)$  //匹配負(fù)浮點(diǎn)數(shù)

^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$  //匹配浮點(diǎn)數(shù)

^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$   //匹配非負(fù)浮點(diǎn)數(shù)(正浮點(diǎn)數(shù) + 0)

^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$  //匹配非正浮點(diǎn)數(shù)(負(fù)浮點(diǎn)數(shù) + 0)

評(píng)注:處理大量數(shù)據(jù)時(shí)有用,具體應(yīng)用時(shí)注意修正

匹配特定字符串:

^[A-Za-z]+$  //匹配由26個(gè)英文字母組成的字符串

^[A-Z]+$  //匹配由26個(gè)英文字母的大寫組成的字符串

^[a-z]+$  //匹配由26個(gè)英文字母的小寫組成的字符串

^[A-Za-z0-9]+$  //匹配由數(shù)字和26個(gè)英文字母組成的字符串

^w+$  //匹配由數(shù)字乎完、26個(gè)英文字母或者下劃線組成的字符串

在使用RegularExpressionValidator驗(yàn)證控件時(shí)的驗(yàn)證功能及其驗(yàn)證表達(dá)式介紹如下:

只能輸入數(shù)字:“^[0-9]*$”

只能輸入n位的數(shù)字:“^d{n}$”

只能輸入至少n位數(shù)字:“^d{n,}$”

只能輸入m-n位的數(shù)字:“^d{m,n}$”

只能輸入零和非零開頭的數(shù)字:“^(0|[1-9][0-9]*)$”

只能輸入有兩位小數(shù)的正實(shí)數(shù):“^[0-9]+(.[0-9]{2})?$”

只能輸入有1-3位小數(shù)的正實(shí)數(shù):“^[0-9]+(.[0-9]{1,3})?$”

只能輸入非零的正整數(shù):“^+?[1-9][0-9]*$”

只能輸入非零的負(fù)整數(shù):“^-[1-9][0-9]*$”

只能輸入長(zhǎng)度為3的字符:“^.{3}$”

只能輸入由26個(gè)英文字母組成的字符串:“^[A-Za-z]+$”

只能輸入由26個(gè)大寫英文字母組成的字符串:“^[A-Z]+$”

只能輸入由26個(gè)小寫英文字母組成的字符串:“^[a-z]+$”

只能輸入由數(shù)字和26個(gè)英文字母組成的字符串:“^[A-Za-z0-9]+$”

只能輸入由數(shù)字熏兄、26個(gè)英文字母或者下劃線組成的字符串:“^w+$”

驗(yàn)證用戶密碼:“^[a-zA-Z]w{5,17}$”正確格式為:以字母開頭,長(zhǎng)度在6-18之間树姨,

只能包含字符摩桶、數(shù)字和下劃線。

驗(yàn)證是否含有^%&'',;=?$"等字符:“[^%&'',;=?$x22]+”

只能輸入漢字:“^[u4e00-u9fa5],{0,}$”

驗(yàn)證Email地址:“^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$”

驗(yàn)證InternetURL:“^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$”

驗(yàn)證電話號(hào)碼:“^((d{3,4})|d{3,4}-)?d{7,8}$”

正確格式為:“XXXX-XXXXXXX”帽揪,“XXXX-XXXXXXXX”典格,“XXX-XXXXXXX”,

“XXX-XXXXXXXX”台丛,“XXXXXXX”耍缴,“XXXXXXXX”砾肺。

驗(yàn)證身份證號(hào)(15位或18位數(shù)字):“^d{15}|d{}18$”

驗(yàn)證一年的12個(gè)月:“^(0?[1-9]|1[0-2])$”正確格式為:“01”-“09”和“1”“12”

驗(yàn)證一個(gè)月的31天:“^((0?[1-9])|((1|2)[0-9])|30|31)$”

正確格式為:“01”“09”和“1”“31”。

匹配中文字符的正則表達(dá)式: [u4e00-u9fa5]

匹配雙字節(jié)字符(包括漢字在內(nèi)):[^x00-xff]

匹配空行的正則表達(dá)式:n[s| ]*r

匹配HTML標(biāo)記的正則表達(dá)式:/<(.*)>.*|<(.*) />/

匹配首尾空格的正則表達(dá)式:(^s*)|(s*$)

匹配Email地址的正則表達(dá)式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*

匹配網(wǎng)址URL的正則表達(dá)式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末防嗡,一起剝皮案震驚了整個(gè)濱河市变汪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蚁趁,老刑警劉巖裙盾,帶你破解...
    沈念sama閱讀 222,378評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異他嫡,居然都是意外死亡番官,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門钢属,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)徘熔,“玉大人,你說(shuō)我怎么就攤上這事淆党】崾Γ” “怎么了?”我有些...
    開封第一講書人閱讀 168,983評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵染乌,是天一觀的道長(zhǎng)山孔。 經(jīng)常有香客問我,道長(zhǎng)荷憋,這世上最難降的妖魔是什么台颠? 我笑而不...
    開封第一講書人閱讀 59,938評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮勒庄,結(jié)果婚禮上蓉媳,老公的妹妹穿的比我還像新娘。我一直安慰自己锅铅,他們只是感情好酪呻,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,955評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著盐须,像睡著了一般玩荠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上贼邓,一...
    開封第一講書人閱讀 52,549評(píng)論 1 312
  • 那天阶冈,我揣著相機(jī)與錄音,去河邊找鬼塑径。 笑死女坑,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的统舀。 我是一名探鬼主播匆骗,決...
    沈念sama閱讀 41,063評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼劳景,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了碉就?” 一聲冷哼從身側(cè)響起盟广,我...
    開封第一講書人閱讀 39,991評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎瓮钥,沒想到半個(gè)月后筋量,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,522評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡碉熄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,604評(píng)論 3 342
  • 正文 我和宋清朗相戀三年桨武,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锈津。...
    茶點(diǎn)故事閱讀 40,742評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡呀酸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出一姿,到底是詐尸還是另有隱情,我是刑警寧澤跃惫,帶...
    沈念sama閱讀 36,413評(píng)論 5 351
  • 正文 年R本政府宣布叮叹,位于F島的核電站,受9級(jí)特大地震影響爆存,放射性物質(zhì)發(fā)生泄漏蛉顽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,094評(píng)論 3 335
  • 文/蒙蒙 一先较、第九天 我趴在偏房一處隱蔽的房頂上張望携冤。 院中可真熱鬧,春花似錦闲勺、人聲如沸曾棕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)翘地。三九已至,卻和暖如春癌幕,著一層夾襖步出監(jiān)牢的瞬間衙耕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工勺远, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留橙喘,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,159評(píng)論 3 378
  • 正文 我出身青樓胶逢,卻偏偏與公主長(zhǎng)得像厅瞎,于是被迫代替她去往敵國(guó)和親饰潜。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,747評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 正則表達(dá)式到底是什么東西磁奖?字符是計(jì)算機(jī)軟件處理文字時(shí)最基本的單位囊拜,可能是字母,數(shù)字比搭,標(biāo)點(diǎn)符號(hào)冠跷,空格,換行符身诺,漢字等...
    獅子挽歌閱讀 2,150評(píng)論 0 9
  • 正則表達(dá)式 \n\n\n 【5】正則表達(dá)式應(yīng)用——?jiǎng)h除空行 啟動(dòng)EditPlus蜜托,打開待處理的文本類型文件。 ①霉赡、...
    黃花菜已涼閱讀 1,049評(píng)論 0 4
  • \d 代表 [0-9] \l 代表 [a-z] \u 代表 [A-Z] \a 代表 [A-Za-z] \w 代表 ...
    zhuoshao閱讀 1,370評(píng)論 0 5
  • 正則表達(dá)式全部符號(hào)解釋(轉(zhuǎn)) 常用正則表達(dá)式大全 (轉(zhuǎn)) 不錯(cuò)的正則博客 正則的方法 var reg = /[1-...
    me__me11閱讀 963評(píng)論 0 0
  • 緒論簡(jiǎn)要筆記 本書中隨便幾句都很有哲理橄务,閱讀起來(lái)比較困難,讀書比較不好做穴亏。如果要有所收獲蜂挪,多讀是一方面,真正要理解...
    昌樺閱讀 514評(píng)論 0 0