zoukankan      html  css  js  c++  java
  • jquery正则检测字符串表达式的合法性

    能检测所有不合法表达式,不信你就试一下!

    浮点数支持的格式如下:1.2、2.0、0.2、0.0...... 如果是小数,小数点两边必须要有数字

    不支持科学计数法、.2、2.

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>验证表达式的合法性</title>
        <script type="text/javascript" src="js/jquery.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                $("#but").click(function(){
                    var str = "";
                    str = $.trim($("#gongshi").val()); 
                    //检查公式
                    if(check_gongshi(str)){
                        $("#show_info").text("合法表达式");
                    }else{
                        $("#show_info").text("非法表达式");
                    }
                });
            });
            //公式合法性检测函数
            function check_gongshi(cal){
                if(cal.search(/^[+-*/.)]|[+-*/.(]$|[+-*/.]{2}|[^+-*/()d.]|([d.)]()|()[d.])|(([+-*/.)])|([+-*/.]))|(.d+.)/) > -1){
                    return false;
                }else{
                    var num_left = 0;
                    for(i = 0; i < cal.length; i++){
                        if(cal[i] == '('){
                            num_left++;
                        }
                        if(cal[i] == ')'){
                            if(num_left > 0){
                                num_left--;
                            }else{
                                return false;
                            }
                        }
                    }
                    if(num_left >0){
                        return false;
                    }else{
                        return true;
                    }
                }
            }
        </script>
    </head>
    <body>
        <input type="input" name="gongshi" id="gongshi" value="(50+2.3*10+(2+3)*10/5)">
        <button type="button" id="but">验证</button>
        <label id="show_info"></label>
    </body>
    </html>

    实测图:

  • 相关阅读:
    Jupyter Notebook的使用
    作业
    第七周:Python
    第六周:统计学
    JS 怎么刷新当前页面
    PHP中获取当前页面的完整URL
    点击删除按钮后 弹出确认对话框弹窗特效
    php 判断时间是否超过
    php 区分中文,英文,中英混合
    微信view类型的菜单获取openid范例
  • 原文地址:https://www.cnblogs.com/zhaopeng938/p/8269975.html
Copyright © 2011-2022 走看看