有没有办法将多个值传递到rangeOfString?

时间:2015-05-15 16:32:30

标签: validation swift

我正在尝试检查用户输入的URL是否实际上是本地IP地址,方法是检查它是否包含 192。,10。或172 。我希望可以像下面的例子那样做一些事情,而不是分别进行三次检查。

 if url.rangeOfString("192. | 10. | 172.") != nil { 

       var validLOCAL = regexValidated(httpURL, isSearch: false)

       if validLocalURL == true {
           return localURL
       } else {
           return ""
 }

我知道我在jQuery中看过这样的东西,但我不确定在这种情况下是否可能。

有没有办法将多个值传递给rangeOfString?

1 个答案:

答案 0 :(得分:1)

使用rangeOfSubstring:options: options:所在的NSString . RegularExpressionSearch - 现在您正在执行您提出的伪代码正在执行的操作。例如:

let target = "192.168.0.0"
let pat = "^(192\\.|10\\.|172\\.)"
let r = target.rangeOfString(pat, options: .RegularExpressionSearch)

如果找不到,r将为nil