验证iPhone上的URL
问题描述:
我试图使用正则表达式验证URL链接,但并非所有链接都被完全识别。你能帮我解决吗?验证iPhone上的URL
我想要的链接,遵循的模式:
http://www.abcdef.org/xyz/content.aspx?menu id=190&id=3214
答
假设你正在寻找一个正则表达式来与特定的模式相匹配的网址:
您可以使用这样的匹配http://www.abcdef.org/xyz/content.aspx?menu id=190&id=3214
:
http://.*?/[a-zA-z]+/content.aspx\?menu id=\d+?&id=\d+
+0
thanx为您的答复,但你能告诉我如何去更通用的模式,它可以识别任何模式的网址。 – RKK 2011-06-21 19:28:48
答
Regex for url with port in Objective c
如果没有端口号,效果很好。
-(BOOL) validateUrl: (NSString *) candidate {
NSString *urlRegEx = @"^(http|https|ftp)\://(([a-zA-Z0-9-.]+\.[a-zA-Z]{2,3})|([0-2]*\d*\d\.[0-2]*\d*\d\.[0-2]*\d*\d\.[0-2]*\d*\d))(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9-._\?\,\'/\+&%\$#\=~])*[^.\,)(\s]$";
NSPredicate *urlTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", urlRegEx];
return [urlTest evaluateWithObject:candidate];
}
定义'验证'。换句话说,你是否只是想确保目标是合法的URI还是符合特定的模式?并且为了记录,您提供的示例URI不合法,因为它包含未转义的空间。 – 2011-06-02 20:22:20
嘿,对不起menu_id。和url验证应该接受所有模式 – RKK 2011-06-21 19:29:33