一、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);
};