1.利用nspredicate(謂詞)匹配
nsstring *email = @「[email protected]」;
nsstring
*regex = @"[a-z0-9a-z._%+-]+@[a-za-z0-9.-]+\\.[a-za-z]";
nspredicate *predicate = [nspredicate
predicatewithformat:@"self matches %@", regex];
bool
isvalid = [predicate
evaluatewithobject
:email];
謂詞匹配比較靈活,但是需要有謂詞的相關知識。
2.利用rangeofstring:option:直接查詢
nsstring *searchtext = @"// do any additional setup after loading the view, typically from a nib.";
nsrange range = [searchtext rangeofstring:@"(?:[^,])*\\." options:nsregularexpressionsearch];
if (range.location != nsnotfound)
options中設定nsregularexpressionsearch就是表示利用正規表示式匹配,會返回第乙個匹配結果的位置。
3.使用正規表示式類
nsstring *searchtext = @"// do any additional setup after loading the view, typically from a nib.";
nserror *error = null;
nsregularexpression *regex = [nsregularexpression regularexpressionwithpattern:@"(?:[^,])*\\." options:nsregularexpressioncaseinsensitive error:&error];
nstextcheckingresult *result = [regex firstmatchinstring:searchtext options:0 range:nsmakerange(0, [searchtext length])];
if (result)
使用系統的正規表示式類(nsregularexpression)會返回匹配的多個結果。
小結:第一種匹配需要學習nspredicate的寫法,需要查閱蘋果相關技術文件;如果只關心第乙個匹配的結果,第二種匹配較為簡潔;如果需要匹配多個結果,同時匹配多次,第三種方式效率會更高。
1.身份證:
身份證為15位或者18位,15位的全為數字,18位的前17位為數字,最後一位為數字或者大寫字母」x「。
與之匹配的正規表示式:(^\d$)|(^\d([0-9]|x)$)
正則匹配表示式:/^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]([\.][a-z])?$/i
3.**號碼
驗證正規表示式
純數字 d 純字母 a za z 純特殊字元 ps 特殊字元看你定義的標準是什麼 字母 數字 d a za z a za z d 字母 特殊字元 a za z a za z 數字 特殊字元 d d 字母 數字 特殊字元 d a za z da za z ios使用常用正規表示式驗證密碼身份證手機號 ...
正規表示式驗證
1,正規表示式是用用於驗證的,即符合正規表示式則通過驗證,所以首先它是個表示式,其次它需要用來驗證別人是不是和它匹配,所以需要有內建的 方法 2,使用情景 乙個input輸入框要求你輸入0 9的數字,如果你輸入非數字就會報錯 var reg 0 9 string input val reg.test...
正規表示式驗證
驗證 email string filter a z a za z0 9 a za z0 9 a za z0 9 匹配空白行的正規表示式 n s r 評注 可以用來刪除空白行 匹配html標記的正規表示式 s 評注 網上流傳的版本太糟糕,上面這個也僅僅能匹配部分,對於複雜的巢狀標記依舊無能為力匹配首...