请有人帮我制作在ObejctiveC中使用NSRegularExpression进行手机号码验证的模式。 规则如下:
1. Number should start with 01
2. 3rd digit between 5 and 9
3. Total length should be 11
执行验证的最佳方法是使用正则表达式。iOS中有一个名为NSRegularExpression
的包装器。不幸的是,我不能给你一些"神奇的子弹"代码,因为你的正则表达式可能需要与我的不同。(鉴于我正在寻找英国手机号码,您的手机号码可能不是(。
此代码根据英国手机号码标准验证字符串。
NSString *str = @"07578565203"
NSError *err;
NSRegularExpression *regex = [[NSRegularExpression alloc] initWithPattern:@"(07d{8,9})$" options:nil error:&err];
NSTextCheckingResult *result [regex firstMatchInString:str options:nil range:NSMakeRange(0, str.length)];
if (result == 1) {
// number is valid
} else {
// number is invalid, check err to see why
}
请注意NSRegularExpression
的initWithPattern
。您必须传递适用于您的电话号码的模式。您可以在此处生成一个。这个网站也有利于教你关于正则表达式的知识。
如果你遇到困难,让我知道你住的电话号码的规则,我会写一个正则表达式。
编辑:根据OP的评论,孟加拉国的合适正则表达式将是(01[5-9]d{8})$
。