JS常用程式碼塊

夢魘的哀傷發表於2020-12-22
/**
 * 使用正則獲取問號傳參的引數
 * 示例:http://localhost:8080/index.jsp?a=1&b=2
 * var a = getQueryString('a');
 * var b = getQueryString('b');
 */
function getQueryString(name) {
	var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
	var r = window.location.search.substr(1).match(reg);
	if (r != null) return unescape(r[2]);
	return null;
}

/**
 * js拼接html
 * onclick動態傳參
 * 1、使用" 比如:("'+key+'")
 * 2、使用轉義符號 比如:(\''+key+'\')
 */
var str1 = '<input type="button" value="修改" οnclick="upd(&quot;' + id + '&quot;, &quot;' + name + '&quot;);" />';
var str2 = '<input type="button" value="刪除" οnclick="del(\'' + id + '\', \'' + name + '\')" />';

/**
 * js繫結onclick事件
 * 先解除繫結再繫結
 * 防止重複繫結
 */
$('#id').unbind('click').click(function(){});

/**
 * 日期格式化
 * 比如:dateFormat('yyyy-MM-dd hh:mm:ss', new Date());
 * 返回日期格式:'2020-12-22 12:40:35'
 */
function dateFormat(fmt, date) {
	let ret;
	const opt = {
		"y+": date.getFullYear().toString(), // 年
		"M+": (date.getMonth() + 1).toString(), // 月
		"d+": date.getDate().toString(), // 日
		"h+": date.getHours().toString(), // 時
		"m+": date.getMinutes().toString(), // 分
		"s+": date.getSeconds().toString() // 秒
	};
	for (let k in opt) {
		ret = new RegExp("(" + k + ")").exec(fmt);
		if (ret) {
			fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")));
		}
	}
	return fmt;
}

相關文章