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);
};
![](https://i-blog.csdnimg.cn/blog_migrate/b5fcde4819ce3716de6696b7d1cb1977.png)
(如果文章对您有所帮助,欢迎捐赠,^_^)
================================
©Copyright 蕃薯耀 2021-04-12
https://www.cnblogs.com/fanshuyao/