首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >验证NSTextField中的字符串是否为有效的IP地址或域名

验证NSTextField中的字符串是否为有效的IP地址或域名
EN

Stack Overflow用户
提问于 2014-06-30 04:32:53
回答 6查看 9.2K关注 0票数 11

我有一个NSTextField,其中我要求用户输入一个IPv4格式的字符串,或者一个域名(如www.example.com )。目前,我的代码是:

代码语言:javascript
运行
复制
@IBAction func verifyTarget(sender: NSTextFieldCell) {
    var txtTarget: NSTextFieldCell = sender

    var strRawTarget: String? = txtTarget.stringValue
    println("Input: " + strRawTarget!)
    var URLTarget: NSURL?

    URLTarget = NSURL.URLWithString(strRawTarget)
    if URLTarget {
        println("URL \(URLTarget) is valid!")
    }
    else {
        println("URL \(strRawTarget) is not valid!")
    }
}

一些示例输出:

代码语言:javascript
运行
复制
Input: 
URL  is valid!
Input: adsfasdf
URL adsfasdf is valid!
Input: afe12389hfs. . afopadsf
URL afe12389hfs. . afopadsf is not valid!
Input: 192.292.111.3
URL 192.292.111.3 is valid!
Input: 0.a.0.a
URL 0.a.0.a is valid!
Input: %2
URL %2 is not valid!
Input: %20
URL %20 is valid!

我做错了什么吗?

EN

Stack Overflow用户

发布于 2018-03-08 22:03:36

代码语言:javascript
运行
复制
@IBAction func verifyTarget(sender: NSTextFieldCell) -> Bool {
    let validIP = "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$"
    if ((sender.stringValue.count == 0) || (sender.stringValue!.range(of: validIP, options: .regularExpression) == nil)) { 
        return false 
    }
    return true
}
票数 0
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24482958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档