语法在百度百科上可以找到, 链接
附赠oschina验证地址 http://tool.oschina.net/regex/
下面列举常用的,具体情况应根据语法自己实现
应用实例
用户名: /^[a-zA-Z]{1}([a-zA-Z0-9]|[_]){4,19}$/
无符号字符串: /^[^/s]{1}[^-_/~!@#/$%/^&//./(/)/[/]/{/}<>/?/'/"]$/
Email: /^/w+([-+.]/w+)@/w+([-.]//w+)/./w+([-.]/w+)*$/
手机号码: /^((/(/d{3}/))|(/d{3}/-))?13/d{9}$/
URL: /^http:[A-Za-z0-9]+/.[A-Za-z0-9]+[//=/?%/-&_~`@[/]/':+!]([^<>/"/"])$/
身份证: /^/d{15}(/d{2}[A-Za-z0-9])?$/
货币: /^/d+(/./d+)?$/
数字: /^/d+$/
邮政编码: /^[1-9]/d{5}$/
QQ: /^[1-9]/d{4,8}$/
整数: /^[-/+]?/d+$/
实数: /^[-/+]?/d+(/./d+)?$/
英文: /^[A-Za-z]+$/
中文 /^[/u0391-/uFFE5]+$/
密码(必须含有大写字母、小写字母、标点、数字中的至少两种。呵呵,这个比较变态吧~) /^(([A-Z]|[a-z]|/d*|[-_/~!@#/$%/^&//./(/)/[/]/{/}<>/?/'/"])|.{0,5})$|/s/
匹配中文字符的正则表达式: [u4e00-u9fa5]
匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
匹配国内电话号码:d{3}-d{8}|d{4}-d{7} 评注:匹配形式如 0511-4405222 或 021-87888822
匹配腾讯QQ号:[1-9][0-9]{4,} 评注:腾讯QQ号从10000开始
匹配中国邮政编码:[1-9]d{5}(?!d) 评注:中国邮政编码为6位数字
匹配身份证:d{15}|d{18} 评注:中国的身份证为15位或18位
匹配ip地址:d+.d+.d+.d+ 评注:提取ip地址时有用
匹配特定数字: ^[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个英文字母或者下划线组成的字符串
oc检测方法
//OC检测手机或者电话
- (BOOL)isTelNum:(NSString *)telNum
{
NSString *re = @"^[1][34578][0-9]{9}$";
NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", re];
if ([phoneTest evaluateWithObject:telNum]) {
return YES;
}
NSString *re2 = @"^[01][0-9]{2,3}[-][0-9]{7,8}$";
NSPredicate *telTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", re2];
if ([telTest evaluateWithObject:telNum]) {
return YES;
}
return NO;
}