1. 程式人生 > >Object-c之正則表示式之一

Object-c之正則表示式之一

比較常用的例子

//郵箱
+ (BOOL) validateEmail:(NSString *)email
{
    NSString *emailRegex = @"[A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
    return [emailTest evaluateWithObject:email];
}


//手機號碼驗證
+ (BOOL) validateMobile:(NSString *)mobile { //手機號以13, 15,18開頭,八個 \d 數字字元 NSString *phoneRegex = @"^((13[0-9])|(15[^4,\\D])|(18[0,0-9]))\\d{8}$"; NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",phoneRegex]; return [phoneTest evaluateWithObject:mobile]; } //車牌號驗證
+ (BOOL) validateCarNo:(NSString *)carNo { NSString *carRegex = @"^[\u4e00-\u9fa5]{1}[a-zA-Z]{1}[a-zA-Z_0-9]{4}[a-zA-Z_0-9_\u4e00-\u9fa5]$"; NSPredicate *carTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",carRegex]; NSLog(@"carTest is %@",carTest); return [carTest evaluateWithObject:carNo]; } //車型
+ (BOOL) validateCarType:(NSString *)CarType { NSString *CarTypeRegex = @"^[\u4E00-\u9FFF]+$"; NSPredicate *carTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",CarTypeRegex]; return [carTest evaluateWithObject:CarType]; } //使用者名稱 + (BOOL) validateUserName:(NSString *)name { NSString *userNameRegex = @"^[A-Za-z0-9]{6,20}+$"; NSPredicate *userNamePredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",userNameRegex]; BOOL B = [userNamePredicate evaluateWithObject:name]; return B; } //密碼 + (BOOL) validatePassword:(NSString *)passWord { NSString *passWordRegex = @"^[a-zA-Z0-9]{6,20}+$"; NSPredicate *passWordPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",passWordRegex]; return [passWordPredicate evaluateWithObject:passWord]; } //暱稱 + (BOOL) validateNickname:(NSString *)nickname { NSString *nicknameRegex = @"^[\u4e00-\u9fa5]{4,8}$"; NSPredicate *passWordPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",nicknameRegex]; return [passWordPredicate evaluateWithObject:nickname]; } //身份證號 + (BOOL) validateIdentityCard: (NSString *)identityCard { BOOL flag; if (identityCard.length <= 0) { flag = NO; return flag; } NSString *regex2 = @"^(\\d{14}|\\d{17})(\\d|[xX])$"; NSPredicate *identityCardPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2]; return [identityCardPredicate evaluateWithObject:identityCard]; } 判斷輸入的密碼不是中文 - (BOOL)isDigitalOrAlpha : (NSString *) text { for (int i = 0; i < text.length; i++) { unichar uc = [text characterAtIndex: i]; if (!isascii(uc)) { return NO; } } return YES; } 判斷輸入的帳號之類的佔用的字元(包括漢字) -(NSUInteger) asciiLengthOfString: (NSString *) text { NSUInteger asciiLength = 0; for (NSUInteger i = 0; i < text.length; i++) { unichar uc = [text characterAtIndex: i]; asciiLength += isascii(uc) ? 1 : 2; } return asciiLength; }

相關推薦

Object-c表示式之一

比較常用的例子 //郵箱 + (BOOL) validateEmail:(NSString *)email { NSString *emailRegex = @"[A-Z0-9a-z._%+-][email protected][A-Za

C++表達式20171121

word 控制 存儲 exec target str linux系統中 not 等價 準確來說,不論在C++或C中,只要在Linux系統中都可以使用本文講訴的正則表達式使用方式。 一、Linux中正則表達式的使用步驟: 編譯正則表達式 regcomp() 匹配正則表達式

Shell學習表示式-----grep

grep 1. 作用 Linux系統中grep命令是一種強大的文字搜尋工具,它能使用正則表示式搜尋文字,並把匹 配的行打印出來。grep全稱是Global Regular Expression Print,表示全域性正則表示式版本,它的使用許可權是所有使用者。 grep家族包括gre

JS應用表示式

定義 正則表示式是用於匹配字串中字元組合的模式。 建立正則表示式 兩種方式: 1.new RegExp() let pattern1 = new RegExp('cat'); //第一個引數字串 let pattern2 = new RegEXP('cat', 'ig'); //第二個引數可選模式

【轉】Python表示式(re模組)

【轉】Python之正則表示式(re模組) 本節內容 re模組介紹 使用re模組的步驟 re模組簡單應用示例 關於匹配物件的說明 說說正則表示式字串前的r字首 re模組綜合應用例項 參考文件 提示: 由於該站對MARKDOWN的表格支援的不是很好,所以本文中的表

C#使用表示式

新增引用: using System.Text.RegularExpressions; 使用舉例程式程式碼: 1 //初始化字串 2 string str =this.txtSource.Text; 3 //定義正則表示式規則 4 Regex

js中string表示式replace方法詳解

本篇文章主要介紹了js中string之正則表示式replace方法詳解,replace方法是javascript涉及到正則表示式中較為複雜的一個方法,嚴格上說應該是string物件的方法。 replace方法是javascript涉及到正則表示式中較為複雜的一個方法,嚴格上說應該是string物

js學習筆記表示式

正則表示式:本質用來記錄文字規則的編碼 構成:由一些普通字元和元字元構成 建立正則表示式兩種方式: 1.通過建構函式定義:var 變數名 = new RegExp(/表示式/); 2.通過直接量定義: var 變數名 = /表示式/; \d表示數字 test()方法:正則物件方法,檢

[一天幾個linux命令] shell指令碼表示式

shell指令碼之正則表示式 原文連結:Linux–shell指令碼之正則表示式 概念及特點 概念 正則表示式是對字串操作的一種邏輯公式,就是用事先定義好的一些特定的字元、及這些特定字元的組合,組成一個"規則字串",這個"規則字串"用來表達對字串的一種過濾邏輯。規定一些特殊語

week4:函式表示式

一、正則表示式 string提供的方法是完全匹配 引入正則表示式是模糊匹配,內嵌在python中,通過呼叫Re模組來實現 二、字元匹配(普通字元,元字元): 普通字元:大多數字符和字母都會和自身匹配 re.findall('alex','yuanalesalexduye') ##

jmeter後置處理器表示式

  一、基本用法——提取某個值 場景:提取某個值,儲存成變數,供後面的介面使用 步驟: 1、執行指令碼,從響應結果中查詢要提取的值,找到左右邊界。 例如要獲取“patientInfoId”作為下一個請求的引數,"patientInfoId":"2c92e0e66680b7da01668

QT---表示式QRegExp詳解

引言     正則表示式(regular expression)就是用一個“字串”來描述一個特徵,然後去驗證另一個“字串”是否符合這個特徵。比如 表示式“ab+” 描述的特徵是“一個 'a' 和 任意個 'b' ”,那麼 'ab', 'abb', 'abbbbbbbbb

go語言表示式

go語言之正則表示式 //regexp package main import ( "fmt" "regexp" ) func main() { //需要匹配的模式 //reg := regexp.MustCompile("\\w+") 正則表示式中的\需要轉義

python入門表示式

正則   通過re模組實現   eg:>>>import re           >>>re.findall('abc',str_name)   在strname裡面完全匹配字串abc,返回列表['abc'],有多個則返回多

Python爬蟲表示式(1)

廖雪峰正則表示式學習筆記 1:用\d可以匹配一個數字;用\w可以匹配一個字母或數字; '00\d' 可以匹配‘007’,但是無法匹配‘00A’; ‘\d\d\d’可以匹配‘010’; ‘\w\w\d’可以匹配‘py3’; 2:.可以匹配任意字元; 'py.'可以匹配'pyc'、

Python學習手冊表示式和元字元

 在上一篇文章中,我們介紹了 Python 的資料封裝、類方法、靜態方法和屬性函式,現在我們介紹 Python 的正則表示式和元字元。檢視上一篇文章請點選:https://www.cnblogs.com/dustman/p/10019973.html 正則表示式正則表示式是一種強大的字串

python網路基礎表示式

下面是我對正則表示式的一些簡單介紹,它多用於爬蟲,用來定製規則 # 正則表示式匯入模組 import re # match只匹配字串的頭 # re.match(正則表示式,需要處理的字串) re.match(r"hello", "hello world") # 大小寫的匹配 re.m

python表示式:re模組

一.正則表示式中常用的字元含義 1、普通字元和11個元字元: 常用字元劃分 匹配範圍 示例資料 匹配的正則表示式 目標匹配的字串 普通字元 匹配自身 abc

網路爬蟲必備知識表示式

就庫的範圍,個人認為網路爬蟲必備庫知識包括urllib、requests、re、BeautifulSoup、concurrent.futures,接下來將結對re正則表示式的使用方法進行總結 1. 正則表示式概念   正則表示式是對字串操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字

c# 用表示式獲取開始和結束字串中間的值

/// <summary> /// 獲得字串中開始和結束字串中間得值 /// </summary> /// <param name="str">字串</param> /// <param name="s">開始</param>