zoukankan      html  css  js  c++  java
  • Js 获取Sql In语句,JavaScript获取In语句

    Js 获取Sql In语句,JavaScript获取In语句

    ================================

    ©Copyright 蕃薯耀 2021-04-12

    https://www.cnblogs.com/fanshuyao/

    一、Js 获取Sql In语句

    <html>
    <body>
    
    <script type="text/javascript">
    
    
    /**
     * 获取IN查询语句
     * @param columnName 列名
     * @param values 列值,数组
     * @param isAnd sql前面是否带and关键字,true表示带
     * @returns
     */
    function getInSqlWithAnd(columnName, values, isAnd){
        if(values == null || values.length < 1){
            //alert("值不能为空");
            return "";
        }
        
        var inSql = " ";
        if(isAnd){
            inSql += "and" + " ";
        }
        
        inSql += " " + columnName + " " + "in (";
        
        for(var i=0; i<values.length; i++){
            inSql += " '" + values[i] + "',";
        }
        
        inSql = inSql.substr(0, inSql.length -1);
        
        inSql += " " + ")";
        
        return inSql;
    };
    
    
    /**
     * 获取IN查询语句,前面带And
     * @param columnName 列名
     * @param values 列值,多个通过英文逗号分隔
     * @returns
     */
    function getInSql(columnName, values){
        return getInSqlWithAnd(columnName, values, true);
    };
    
    
    /**
     * 获取IN查询语句
     * @param columnName 列名
     * @param values 列值,多个通过英文逗号分隔
     * @param isAnd sql前面是否带and关键字,true表示带
     * @returns
     */
    function getInSqlWithAndByString(columnName, valuesString, isAnd){
        if(valuesString == null || valuesString == ""){
            //alert("值不能为空");
            return "";
        }
        
        var values = valuesString.split(",");
        
        return getInSqlWithAnd(columnName, values, isAnd);
    };
    
    
    /**
     * 获取IN查询语句,前面带And
     * @param columnName 列名
     * @param values 列值,多个通过英文逗号分隔
     * @returns
     */
    function getInSqlByString(columnName, valuesString){
        return getInSqlWithAndByString(columnName, valuesString, true);
    };
    
    
    alert("getInString = " + getInSql("aaa", ["11", "2222", "3333"]));
    
    </script>
    
    </body>
    </html>

    二、将数组拼接成字符串

    /**
     * 将数组拼接成字符串
     * @param arrayValue 数组
     * @param contactCode 连接的分隔符
     * @returns
     */
    function arrayToString(arrayValue, contactCode){
        if(!arrayValue || arrayValue.length < 1){//不能使用isBlank,可以通过空格分隔
            alert("数组不能为空");
            return;
        }
        if(contactCode == null || typeof contactCode == "undefined"){
            contactCode = ",";
        }
        var result = "";
        for(var i=0; i<arrayValue.length; i++){
            result += arrayValue[i] + contactCode;
        }
        if(result.indexOf(contactCode) > -1){
            if(contactCode != ""){
                result = removeLastCode(result);
            }
        }
        return result;
    };

    三、将字符串的分隔符换成另外一个

    /**
     * 将字符串的分隔符换成另外一个
     * @param str 字符串
     * @param splitCode 原来连接的分隔符
     * @param contactCode 新的连接的分隔符
     * @returns
     */
    function getStringByContactCode(str, splitCode, contactCode){
        if(isEmpty(splitCode)){//不能使用isBlank,可以通过空格分隔
            alert("分隔符不能为空");
            return;
        }
        
        if(isEmpty(contactCode)){//不能使用isBlank,可以通过空格分隔
            alert("分隔符不能为空");
            return;
        }
        
        var result = "";
        
        if(str && str.indexOf(splitCode) > -1){
            var strArray = str.split(splitCode);
            for(var i=0; i<strArray.length; i++){
                result += strArray[i] + contactCode;
            }
            if(result.indexOf(contactCode) > -1){
                result = removeLastCode(result);
            }
        }else{
            result = str;
        }
        //console.log("getStringByContactCode = " + result);
        return result;
    };

    四、获取链接的参数

    /**
     * 获取链接的参数
     * @param url
     * @param paramName
     * @returns
     */
    function getParamByUrl(url, paramName){
        var query = url.search.substring(1);
        var params = query.split("&");
        for (var i=0; i<params.length; i++) {
            var pair = params[i].split("=");
            if(decodeURIComponent(pair[0]) == paramName){
                if(pair.length > 1){
                    return decodeURIComponent(pair[1] || "");
                }else{
                    return "";
                }
            }
        }
        return "";
    };
    
    
    /**
     * 获取当前页面链接的参数
     * @param paramName
     * @returns
     */
    function getParam(paramName){
        var url = window.location;
        return getParamByUrl(url, paramName)
    };

    五、常用通用的Js方法

    //增加window.console定义,解决IE6、7、8、9使用console.log报未定义的错误
    window.console = window.console || (function(){
        var c = {}; 
        c.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profile = c.clear = c.exception = c.trace = c.assert = function(){};
        return c;
    })();
    
    /**
    * 去掉字符串头尾空格
    * @param str 传入的字符串值
    */
    function trim(str) {
        if(str == null || typeof str == "undefined"){
            return "";
        }
        return str.replace(/(^s*)|(s*$)/g, "");
    };
    
    /** 
     * 是否为Null 
     * @param object 
     * @returns {Boolean} 
     */  
    function isNull(object){  
        if(object == null || typeof object == "undefined"){  
            return true;  
        }  
        return false;  
    }; 
    
    /** 
     * 是否为空字符串,有空格不是空字符串 
     * @param str 
     * @returns {Boolean} 
     */  
    function isEmpty(str){  
        if(str == null || typeof str == "undefined" ||   
                str == ""){  
            return true;  
        }  
        return false;  
    };
    
    /** 
     * 是否为空字符串,有空格也是空字符串 
     * @param str 
     * @returns {Boolean} 
     */  
    function isBlank(str){  
        if(isEmpty(str) || isEmpty($.trim(str))){  
            return true;  
        }  
        return false;  
    };
    
    function removeLastCode(str){
        if(str == null || str.length < 1){
            return str;
        }
        return str.substring(0, str.length-1);
    };
    
    /**
     * 设置select选中
     * @param selectId select的id值
     * @param checkValue 选中option的值
    */
    function setOptionSelected(selectId, checkValue){
        var select = document.getElementById(selectId);
        for(var i=0; i<select.options.length; i++){
            if(select.options[i].innerHTML == checkValue){
                select.options[i].selected = true;
                break;
            }
        }
    };
    
    /**
     * 获取checkbox选中数量
     * @param name checkbox的name值
    */
    function getCheckBoxLength(name){
        var length = 0;
        var checkboxes;
        if(name == null || name == ""){
            checkboxes = document.getElementsByTagName("input");
            for(var j=0;j<checkboxes.length;j++){
                if(checkboxes[j].type=='checkbox' && checkboxes[j].checked){
                    length+=1;
                }
            }
        }else{
            checkboxes = document.getElementsByName(name);
            for(var i=0;i<checkboxes.length;i++){
                if(checkboxes[i].checked){
                    length+=1;
                }
            }
        }
        return length;
    };
    
    function getCheckedLength(name){
        var length = 0;
        if(name == null || name == ""){
            alert("请添加参数name");
        }else{
            var inputs = document.getElementsByName(name);
            for(var i=0;i<inputs.length;i++){
                if(inputs[i].checked){
                    length += 1;
                }
            }
        }
        return length;
    };
    
    
    /**
     * 只返回一个checkbox的值
     * @param name
     * @returns
     */
    function getCheckedValue(name){
        var value = null;
        if(name == null || name == ""){
            alert("请添加参数name");
        }else{
            var inputs = document.getElementsByName(name);
            for(var i=0;i<inputs.length;i++){
                if(inputs[i].checked){
                    value = inputs[i].value;
                    break;
                }
            }
        }
        return value;
    };
    
    /**
     * 返回勾选checkbox的所有值(字符串,通过,分隔)
     * @param name
     * @returns
     */
    function getCheckedValues(name){
        var values = "";
        if(name == null || name == ""){
            alert("方法getCheckedValues(name)需要添加参数name");
        }else{
            var inputs = document.getElementsByName(name);
            if(inputs != null && inputs.length > 0){
                var splitCode = ",";
                for(var i=0; i<inputs.length; i++){
                    if(inputs[i].checked){
                        values  += inputs[i].value + splitCode;
                    }
                }
                if(values.indexOf(splitCode) > -1){
                    values = removeLastCode(values);
                }
            }
        }
        return values;
    };
    
    /**
     * 设置checkbox选中,同时适用于设置radio选中
     * @param name checkbox的name属性
     * @param checkValues checkbox的选择的值,通过英文逗号(,)连接
     */
    function setChecked(name, checkValues){
        var checkboxes = document.getElementsByName(name);
        var checkboxesLength = checkboxes.length;
        
        var checkValuesArray = checkValues.split(",");
        var checkValuesArrayLength = checkValuesArray.length;
        
        if(checkboxesLength > 0 && checkValuesArrayLength > 0){
            for(var i=0; i<checkboxesLength; i++){
                for(var j=0; j<checkValuesArrayLength; j++){
                    if(checkboxes[i].value == checkValuesArray[j]){
                        checkboxes[i].checked = true;
                        break;
                    }
                }
            }
        }
    };
    
    /**
     * 根据id让Checkbox选中
     * @param id
     */
    function checked(id){
        document.getElementById(id).checked = true;
    };
    
    /**
     * 根据id判断Checkbox是否选中
     * jquery方式:$("input[type='checkbox']").is(':checked')
     * @param id
     * @returns {Boolean}
     */
    function isChecked(id){
        if(isEmpty(id)){
            alert("isChecked(id)方法中的id不能为空");
            return;
        }
        if(document.getElementById(id).checked){
            return true;
        }
        return false;
    };
    
    /**
     * 根据name判断Checkbox是否选中,有一个选中即返回true,所有不选中则返回false
     * @param name
     * @returns {Boolean}
     */
    function isCheckedByName(name){
        if(isEmpty(name)){
            alert("isCheckedByName(name)方法中的name不能为空");
            return;
        }
        var checkboxes = document.getElementsByName(name);
        if(checkboxes != null && checkboxes.length > 0){
            for(var i=0; i<checkboxes.length; i++){
                if(checkboxes[i].checked){
                    return true;
                }
            }
        }
        return false;
    };
    
    /**
     * 根据name判断所有Checkbox是否选中,所有选中则返回true,一个没选中返回false
     * @param name
     * @returns {Boolean}
     */
    function isCheckedAllByName(name){
        if(isEmpty(name)){
            alert("isCheckedAllByName(name)方法中的name不能为空");
            return;
        }
        var checkboxes = document.getElementsByName(name);
        var checkboxesLength = checkboxes.length;
        var count = 0;
        if(checkboxes != null && checkboxesLength > 0){
            for(var i=0; i<checkboxesLength; i++){
                if(checkboxes[i].checked){
                    count ++;
                }
            }
            if(count == checkboxesLength){//由于上面已经判断checkboxesLength > 0,这里不需要判断count==0,因为checkboxesLength已经不为0
                return true;
            }
        }
        return false;
    };
    
    
    /*
    function thisIframeHeightAuto(){
        setIframeHeight("auditList");
    };
     */
    //window.setInterval("iframeHeightAuto()", 200);
    function setIframeHeight(iframeId){
        var cwin = document.getElementById(iframeId);
        if(document.getElementById){
            if(cwin && !window.opera){
                if(cwin.contentDocument && cwin.contentDocument.body.offsetHeight){
                    cwin.height = cwin.contentDocument.body.offsetHeight;//FF NS
                    //console.log("FF NS cwin.height=" +cwin.height);
                }else if(cwin.Document && cwin.Document.body.scrollHeight){
                    cwin.height = cwin.Document.body.scrollHeight;//IE
                    //console.log("IE cwin.height=" +cwin.height);
                }
            }else if(cwin.contentWindow.document && cwin.contentWindow.document.body.scrollHeight){
                cwin.height = cwin.contentWindow.document.body.scrollHeight;//Opera
            }
        }
        //console.log("cwin.height=" + cwin.height);
    };
    
    /**
     * 是否为数字(仅正数),包括正整数、正小数、0
     * @param value
     * @returns
     */
    function isNumber(value){
        var z_reg = /^(([0-9])|([1-9]([0-9]+)))(.[0-9]+)?$/;
        return z_reg.test(value);
    };
    
    /**
     * 是否为所有数字(正数、负数),包括整数、小数、0
     * @param value
     * @returns
     */
    function isNumberAll(value){
        var z_reg = /^(-)?(([0-9])|([1-9]([0-9]+)))(.[0-9]+)?$/;
        return z_reg.test(value);
    };
    
    /**
     * 是否为正整数,包括正整数和0
     * @param value
     * @returns
     */
    function isInteger(value){
        var z_reg = /^(([0-9])|([1-9]([0-9]+)))$/;
        return z_reg.test(value);
    };
    
    /**
     * 是否为所有整数,包括正整数、负整数、0
     * @param value
     * @returns
     */
    function isIntegerAll(value){
        var z_reg = /^(-)?(([0-9])|([1-9]([0-9]+)))$/;
        return z_reg.test(value);
    };
    
    /**
     * 是否为小数(仅正小数)
     * @param value
     * @returns
     */
    function isDouble(value){
        var z_reg = /^(([0-9])|([1-9]([0-9]+)))(.[0-9]+)$/;
        return z_reg.test(value);
    };
    
    /**
     * 是否为所有小数(正小数、负小数、0.0)
     * @param value
     * @returns
     */
    function isDoubleAll(value){
        var z_reg = /^(-)?(([0-9])|([1-9]([0-9]+)))(.[0-9]+)$/;
        return z_reg.test(value);
    };
    
    
    /**
     * 获取 and xxx in ('yyy')脚本语句
     * @param colunmName 字段名
     * @param inStringValue IN 条件的字符串
     * @returns
     */
    function getInSql(colunmName, inStringValue){
        var resultSql = "";
        
        if(isBlank(colunmName)){
            alert("字段名不能为空");
            return;
        }
        if(isBlank(inStringValue)){
            alert("字段值不能为空");
            return;
        }
        
        resultSql += " " + "and" + " " + colunmName + " " + "in (";
        if(inStringValue.indexOf(",") > -1){
            
            var strArray = inStringValue.split(",");
            for(var i=0; i<strArray.length; i++){
                resultSql +=  "'" + strArray[i] + "'" + ",";
            }
            if(resultSql.indexOf(",") > -1){
                resultSql = removeLastCode(resultSql);
            }
            
        }else{
            resultSql += "'" + inStringValue + "'";
        }
        resultSql += ")";
        
        //console.log("resultSql = " + resultSql);
        
        return resultSql;
        
    };
    
    
    /**
     * 将字符串的分隔符换成另外一个
     * @param str 字符串
     * @param splitCode 原来连接的分隔符
     * @param contactCode 新的连接的分隔符
     * @returns
     */
    function getStringByContactCode(str, splitCode, contactCode){
        if(isEmpty(splitCode)){//不能使用isBlank,可以通过空格分隔
            alert("分隔符不能为空");
            return;
        }
        
        if(isEmpty(contactCode)){//不能使用isBlank,可以通过空格分隔
            alert("分隔符不能为空");
            return;
        }
        
        var result = "";
        
        if(str && str.indexOf(splitCode) > -1){
            var strArray = str.split(splitCode);
            for(var i=0; i<strArray.length; i++){
                result += strArray[i] + contactCode;
            }
            if(result.indexOf(contactCode) > -1){
                result = removeLastCode(result);
            }
        }else{
            result = str;
        }
        //console.log("getStringByContactCode = " + result);
        return result;
    };
    
    
    /**
     * 将字符串拆分成数组
     * @param str 字符串
     * @param splitCode 原来连接的分隔符
     * @returns
     */
    function getArrayBySplit(str, splitCode){
        if(isEmpty(splitCode)){//不能使用isBlank,可以通过空格分隔
            alert("分隔符不能为空");
            return;
        }
        return str.split(splitCode);
    };
    
    
    /**
     * 将数组拼接成字符串
     * @param arrayValue 数组
     * @param contactCode 连接的分隔符
     * @returns
     */
    function arrayToString(arrayValue, contactCode){
        if(!arrayValue || arrayValue.length < 1){//不能使用isBlank,可以通过空格分隔
            alert("数组不能为空");
            return;
        }
        if(contactCode == null || typeof contactCode == "undefined"){
            contactCode = ",";
        }
        var result = "";
        for(var i=0; i<arrayValue.length; i++){
            result += arrayValue[i] + contactCode;
        }
        if(result.indexOf(contactCode) > -1){
            if(contactCode != ""){
                result = removeLastCode(result);
            }
        }
        return result;
    };
    
    
    //日期格式化
    Date.prototype.format = function(format)
    {
        var o = {
            "M+" : this.getMonth()+1, //month
            "d+" : this.getDate(),    //day
            "h+" : this.getHours(),   //hour
            "m+" : this.getMinutes(), //minute
            "s+" : this.getSeconds(), //second
            "q+" : Math.floor((this.getMonth()+3)/3),  //quarter
            "S" : this.getMilliseconds() //millisecond
        };
        if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
        (this.getFullYear()+"").substr(4 - RegExp.$1.length));
        for(var k in o)if(new RegExp("("+ k +")").test(format))
        format = format.replace(RegExp.$1,
        RegExp.$1.length==1 ? o[k] :
        ("00"+ o[k]).substr((""+ o[k]).length));
        return format;
    };
    
    
    Date.prototype.pattern=function(fmt) {         
        var o = {         
            "M+" : this.getMonth()+1, //月份         
            "d+" : this.getDate(), //
            "h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //小时         
            "H+" : this.getHours(), //小时         
            "m+" : this.getMinutes(), //
            "s+" : this.getSeconds(), //
            "q+" : Math.floor((this.getMonth()+3)/3), //季度         
            "S" : this.getMilliseconds() //毫秒         
        };         
        var week = {         
            "0" : "/u65e5",         
            "1" : "/u4e00",         
            "2" : "/u4e8c",         
            "3" : "/u4e09",         
            "4" : "/u56db",         
            "5" : "/u4e94",         
            "6" : "/u516d"        
        };         
        if(/(y+)/.test(fmt)){         
            fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));         
        }         
        if(/(E+)/.test(fmt)){         
            fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "/u661f/u671f" : "/u5468") : "")+week[this.getDay()+""]);         
        }         
        for(var k in o){         
            if(new RegExp("("+ k +")").test(fmt)){         
                fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));         
            }         
        }         
        return fmt;         
    };
    
    
    
    /**
     * 日期解析,字符串转日期
     * @param dateString 可以为2017-02-16,2017/02/16,2017.02.16
     * @returns {Date} 返回对应的日期对象
     */
    function dateParse(dateString){
        var SEPARATOR_BAR = "-";
        var SEPARATOR_SLASH = "/";
        var SEPARATOR_DOT = ".";
        var dateArray;
        if(dateString.indexOf(SEPARATOR_BAR) > -1){
            dateArray = dateString.split(SEPARATOR_BAR);  
        }else if(dateString.indexOf(SEPARATOR_SLASH) > -1){
            dateArray = dateString.split(SEPARATOR_SLASH);
        }else{
            dateArray = dateString.split(SEPARATOR_DOT);
        }
        return new Date(dateArray[0], dateArray[1]-1, dateArray[2]); 
    };
    
    
    /**
     * 获取链接的参数
     * @param url
     * @param paramName
     * @returns
     */
    function getParamByUrl(url, paramName){
        var query = url.search.substring(1);
        var params = query.split("&");
        for (var i=0; i<params.length; i++) {
            var pair = params[i].split("=");
            if(decodeURIComponent(pair[0]) == paramName){
                if(pair.length > 1){
                    return decodeURIComponent(pair[1] || "");
                }else{
                    return "";
                }
            }
        }
        return "";
    };
    
    
    /**
     * 获取当前页面链接的参数
     * @param paramName
     * @returns
     */
    function getParam(paramName){
        var url = window.location;
        return getParamByUrl(url, paramName)
    };
    
    
    
    /**
     * 获取IN查询语句
     * @param columnName 列名
     * @param values 列值,数组
     * @param isAnd sql前面是否带and关键字,true表示带
     * @returns
     */
    function getInSqlWithAnd(columnName, values, isAnd){
        if(values == null || values.length < 1){
            //alert("值不能为空");
            return "";
        }
        
        var inSql = " ";
        if(isAnd){
            inSql += "and" + " ";
        }
        
        inSql += " " + columnName + " " + "in (";
        
        for(var i=0; i<values.length; i++){
            inSql += " '" + values[i] + "',";
        }
        
        inSql = inSql.substr(0, inSql.length -1);
        
        inSql += " " + ")";
        
        return inSql;
    };
    
    
    /**
     * 获取IN查询语句,前面带And
     * @param columnName 列名
     * @param values 列值,多个通过英文逗号分隔
     * @returns
     */
    function getInSqlByArray(columnName, values){
        return getInSqlWithAnd(columnName, values, true);
    };
    
    
    /**
     * 获取IN查询语句
     * @param columnName 列名
     * @param values 列值,多个通过英文逗号分隔
     * @param isAnd sql前面是否带and关键字,true表示带
     * @returns
     */
    function getInSqlWithAndByString(columnName, valuesString, isAnd){
        if(valuesString == null || valuesString == ""){
            //alert("值不能为空");
            return "";
        }
        
        var values = valuesString.split(",");
        
        return getInSqlWithAnd(columnName, values, isAnd);
    };
    
    
    /**
     * 获取IN查询语句,前面带And
     * @param columnName 列名
     * @param values 列值,多个通过英文逗号分隔
     * @returns
     */
    function getInSqlByString(columnName, valuesString){
        return getInSqlWithAndByString(columnName, valuesString, true);
    };

    (如果文章对您有所帮助,欢迎捐赠,^_^)

    ================================

    ©Copyright 蕃薯耀 2021-04-12

    https://www.cnblogs.com/fanshuyao/

    今天越懒,明天要做的事越多。
  • 相关阅读:
    ubuntu上安装boost库
    boost array使用
    2017新年总结
    qt 设置等待事件
    vs下 qt源码调试
    使用记事本创建Web服务(WebService)
    司以类聚,人以群分
    附件上传
    DES 加密解密
    工作总结-js插件
  • 原文地址:https://www.cnblogs.com/fanshuyao/p/14646820.html
Copyright © 2011-2022 走看看