如何爲名稱編寫正則表達式?如何爲名稱編寫正則表達式?
我想它來驗證下面的例子:
愛因斯坦
愛因斯坦
愛因斯坦
阿爾伯特einstIN
Ale'rt E'i 'n't'e'in
這些都應該被認爲是有效的。
這是我迄今爲止,但它失敗:
-(BOOL) validateName: (NSString *) name{
NSString *nameRegex = @"(?:[A-Z]+[a-z' '])";
NSPredicate *nameTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", nameRegex];
return [nameTest evaluateWithObject:name];
}
任何人都可以提出一個改進?
你不能「驗證」用一個簡單的正則表達式的實際名稱,你只能驗證你決定什麼是可以接受的。有兩個以上的字,不尋常的字符,甚至可能是一個數字的名字pleple!例如:'比利鮑勃詹姆斯奧布萊恩Ⅻ' –