正規表示式,驗證框驗證

2021-07-02 20:41:51 字數 1589 閱讀 6477

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 評注 網上流傳的版本太糟糕,上面這個也僅僅能匹配部分,對於複雜的巢狀標記依舊無能為力匹配首...