Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
371 views
in Technique[技术] by (71.8m points)

iphone - Validate phone number ios

I need to validate an international phone number.

I know its difficult to validate an international phone number, so I'm going to keep it simple:

+ or 00 then 6-14 numbers

My current code using a regex isn't working for some reason which I can't work out. It just says that it cannot open the regex and crashes.

Here is my current code:

NSString *phoneRegex = @"^[+(00)][0-9]{6,14}$";
NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", phoneRegex];

BOOL phoneValidates = [phoneTest evaluateWithObject:phoneNumber];

Where am I going wrong?

Thanks!

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
NSString *phoneRegex = @"^((\+)|(00))[0-9]{6,14}$";

This way is bit better. Your code will work as well if you escape the "".


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

57.0k users

...