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