我正在尝试通过检查用户输入的 URL 是否包含 192.、10. 或 172 来检查用户输入的 URL 是否实际上是本地 IP 地址。我希望可以像下面的示例那样做一些事情,而不是运行三个单独的检查。
if url.rangeOfString("192. | 10. | 172.") != nil {
var validLOCAL = regexValidated(httpURL, isSearch: false)
if validLocalURL == true {
return localURL
} else {
return ""
}
我知道我在 jQuery 中见过类似的东西,但我不确定在这种情况下是否可行。
有没有办法将多个值传递给 rangeOfString?
最佳答案
使用 NSString 的 rangeOfSubstring:options:
其中 options:
是 。 RegularExpressionSearch
- 现在您正在做您建议的伪代码正在做的事情。示例:
let target = "192.168.0.0"
let pat = "^(192\\.|10\\.|172\\.)"
let r = target.rangeOfString(pat, options: .RegularExpressionSearch)
如果没有找到,r
将为nil
。
关于validation - 有没有办法将多个值传递给 rangeOfString?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30264506/