/** 科學計數法正則表達式 */
正則表達式
#define REGEX_SCIEN (@"^((\\d+.?\\d+)[Ee]{1}(\\d+))$")lua
/** 手機號驗證正則表達式 */orm
NSString *regex_phonenum = @"\\d{3}-\\d{8}|\\d{3}-\\d{7}|\\d{4}-\\d{8}|\\d{4}-\\d{7}|1+[358]+\\d{9}|\\d{8}|\\d{7}";ci
/**手機號碼正則2.0**/字符串
+ (BOOL)phoneValiMobile:(NSString *)mobilestring
{it
mobile = [mobile stringByReplacingOccurrencesOfString:@" " withString:@""];io
if (mobile.length != 11)登錄
{ftp
return NO;
}else{
/*** 移動號段正則表達式*/
NSString *CM_NUM = @"^((13[4-9])|(147)|(15[0-2,7-9])|(178)|(18[2-4,7-8]))\\d{8}|(1705)\\d{7}$";
/*** 聯通號段正則表達式*/
NSString *CU_NUM = @"^((13[0-2])|(145)|(15[5-6])|(176)|(18[5,6]))\\d{8}|(1709)\\d{7}$";
/*** 電信號段正則表達式*/
NSString *CT_NUM = @"^((133)|(153)|(177)|(18[0,1,9]))\\d{8}$";
NSPredicate *pred1 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM_NUM];
BOOL isMatch1 = [pred1 evaluateWithObject:mobile];
NSPredicate *pred2 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU_NUM];
BOOL isMatch2 = [pred2 evaluateWithObject:mobile];
NSPredicate *pred3 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT_NUM];
BOOL isMatch3 = [pred3 evaluateWithObject:mobile];
if (isMatch1 || isMatch2 || isMatch3) {
return YES;
}else{
return NO;
}
}
}
/** 金額格式正則表達式 */
#define REGEX_AMOUNT (@"^[-]?[\\d]{1,10}([.]{1}[\\d]{1,2})?$")
/** yyyyMM正則表達式 */
#define REGEX_MONTH (@"^([1-9]\\d{3})(([0][1-9])|([1][0-2]))$")
/** yyyyMMdd日期格式正則表達式 */
#define REGEX_DATE (@"(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})(((0[13578]|1[02])(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)(0[1-9]|[12][0-9]|30))|(02(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))0229)")
// 年-月-日 :/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/
/** Email驗證正則表達式 */
#define REGEX_EMAIL (@"^(([_\\w-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([_\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?))$")
//匹配網址連接
NSString *regex_http = @"(https?|ftp|file)+://[^\\s]*";
匹配特定數字:
^[1-9]d*$ //匹配正整數
^-[1-9]d*$ //匹配負整數
^-?[1-9]d*$ //匹配整數
^[1-9]d*|0$ //匹配非負整數(正整數 + 0)
^-[1-9]d*|0$ //匹配非正整數(負整數 + 0)
^[1-9]d*.d*|0.d*[1-9]d*$ //匹配正浮點數
^-([1-9]d*.d*|0.d*[1-9]d*)$ //匹配負浮點數
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$ //匹配浮點數
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$ //匹配非負浮點數(正浮點數 + 0)
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$ //匹配非正浮點數(負浮點數 + 0)
評註:處理大量數據時有用,具體應用時注意修正
匹配特定字符串:
^[A-Za-z]+$ //匹配由26個英文字母組成的字符串
^[A-Z]+$ //匹配由26個英文字母的大寫組成的字符串
^[a-z]+$ //匹配由26個英文字母的小寫組成的字符串
^[A-Za-z0-9]+$ //匹配由數字和26個英文字母組成的字符串
^w+$ //匹配由數字、26個英文字母或者下劃線組成的字符串
在使用RegularExpressionValidator驗證控件時的驗證功能及其驗證表達式介紹以下:
只能輸入數字:「^[0-9]*$」
只能輸入n位的數字:「^d{n}$」
只能輸入至少n位數字:「^d{n,}$」
只能輸入m-n位的數字:「^d{m,n}$」
只能輸入零和非零開頭的數字:「^(0|[1-9][0-9]*)$」
只能輸入有兩位小數的正實數:「^[0-9]+(.[0-9]{2})?$」
只能輸入有1-3位小數的正實數:「^[0-9]+(.[0-9]{1,3})?$」
只能輸入非零的正整數:「^+?[1-9][0-9]*$」
只能輸入非零的負整數:「^-[1-9][0-9]*$」
只能輸入長度爲3的字符:「^.{3}$」
只能輸入由26個英文字母組成的字符串:「^[A-Za-z]+$」
只能輸入由26個大寫英文字母組成的字符串:「^[A-Z]+$」
只能輸入由26個小寫英文字母組成的字符串:「^[a-z]+$」
只能輸入由數字和26個英文字母組成的字符串:「^[A-Za-z0-9]+$」
只能輸入由數字、26個英文字母或者下劃線組成的字符串:「^w+$」
驗證用戶密碼:「^[a-zA-Z]w{5,17}$」正確格式爲:以字母開頭,長度在6-18之間,
只能包含字符、數字和下劃線。
驗證是否含有^%&'',;=?$"等字符:「[^%&'',;=?$x22]+」
只能輸入漢字:「^[u4e00-u9fa5],{0,}$」
匹配首尾空格的正則表達式:(^s*)|(s*$)
匹配中文字符的正則表達式: [u4e00-u9fa5]
//校驗登陸名:只能輸入5-20個以字母開頭、可帶數字、「_」、「.」的字串:/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/
//校驗用戶姓名:只能輸入1-30個以字母開頭的字串:/^[a-zA-Z]{1,30}$/
//校驗密碼:只能輸入6-20個字母、數字、下劃線:/^(\w){6,20}$/