【问题标题】:Validate URL on iPhone在 iPhone 上验证 URL
【发布时间】:2023-03-31 02:11:01
【问题描述】:

我尝试使用正则表达式验证 URL 链接,但并非所有链接都被完全识别。你能帮帮我吗?

我希望链接遵循模式:

http://www.abcdef.org/xyz/content.aspx?menu id=190&id=3214

【问题讨论】:

  • 定义“验证”。换句话说,您只是希望确保目标是合法的 URI 还是符合特定模式?为了记录,您提供的示例 URI 是不合法的,因为它包含未转义的空格。
  • 嘿抱歉它的 menu_id。并且 url 验证应该接受所有的模式

标签: iphone regex validation url


【解决方案1】:

假设您正在寻找一个正则表达式来匹配具有特定模式的 url:

你可以用这样的东西来匹配http://www.abcdef.org/xyz/content.aspx?menu id=190&id=3214

http://.*?/[a-zA-z]+/content.aspx\?menu id=\d+?&id=\d+

【讨论】:

  • 感谢您的回复,但您能告诉我如何使用更通用的模式,它可以识别任何 url 模式。
【解决方案2】:

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];
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多