菜鸟教程小白 发表于 2022-12-12 21:44:24

ios - 用于快速检查十进制输入的正则表达式


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

<pre><code>func valueCheck(check: Double) -&gt; Double{
    let myRegex = &#34;^(?:|0|\\d*)(?:\\.\\d*)?$&#34;
    if check != nil &amp;&amp; let match = check.rangeOfString(myRegex, options: .RegularExpressionSearch){
      return check
    }else{
      return 0.0
    }

}
</code></pre>

<p>如果数字不为零或无效(例如几个点),则返回该数字。如果数字为 nil 或无效,则返回 0.0
我想使用正则表达式,但我不知道如何快速使用它。任何帮助表示赞赏。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><pre><code>class func regexMatch(source:String,regexStr:String) -&gt; 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 &gt; 0
    } else {
      return false
    }
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 用于快速检查十进制输入的正则表达式,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/38949032/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/38949032/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 用于快速检查十进制输入的正则表达式