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

标签 validation swift

我正在尝试通过检查用户输入的 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/

相关文章:

php - Shopify HMAC验证PHP

validation - 在 react-admin 中使用服务器端验证响应

ios - 如何使用 Swift 在两个类之间共享一个 UI 元素?

php - 如何在没有支付网关的情况下验证信用卡详细信息

validation - 要求 joi 对象中至少有一个允许 null 的非 null 子项

php - Swift JSON 序列化错误

swift - 防止用户在 UIViewController 下与 SKScene 交互

ios - 如何安排 `UIStackView` 中的 View ?

ios - ScrollView 内的 SwiftUI 列表

ruby-on-rails - Ruby on Rails : validate when context is not given value