OGeek|极客世界-中国程序员成长平台

标题: ios - 用于快速检查十进制输入的正则表达式 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 21:44
标题: ios - 用于快速检查十进制输入的正则表达式

在我的应用程序中,有一些带有十进制键盘输入的文本字段。所以我需要一个函数来验证这个数字。

func valueCheck(check: Double) -> Double{
    let myRegex = "^(?:|0|[1-9]\\d*)(?:\\.\\d*)?$"
    if check != nil && let match = check.rangeOfString(myRegex, options: .RegularExpressionSearch){
        return check
    }else{
        return 0.0
    }

}

如果数字不为零或无效(例如几个点),则返回该数字。如果数字为 nil 或无效,则返回 0.0 我想使用正则表达式,但我不知道如何快速使用它。任何帮助表示赞赏。



Best Answer-推荐答案


class func regexMatch(source:String,regexStr:String) -> Bool{
    let regex: NSRegularExpression?
    do{
        try regex = NSRegularExpression(
            pattern: regexStr,
            options: .CaseInsensitive)

    }catch{
        return false
    }

    if let matches = regex?.matchesInString(source,
                                            options: NSMatchingOptions(rawValue: 0),
                                            range: NSMakeRange(0, source.characters.count)) {
        return matches.count > 0
    } else {
        return false
    }
}

关于ios - 用于快速检查十进制输入的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38949032/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4