JavaScript常用代码片段整理
程序员文章站
2024-01-11 23:19:59
...
1. 批量替换方法,批量过滤特殊字符,通常用在通过后的各种编辑器添加的内容在App上编辑上使用
- 使用方法:
ReCont(Content,["<br>", "<br/>", "<p>", "</p>"])
- @param {Object} strCont 要替换的内容
- @param {Object} array 内容里需要替换的字符串数组
function ReEditer(strCont, array) {
for (var i in array) {
var item = array[i];
//alert(item);
var reg = new RegExp("\\" + item, "g");
switch(item) {
case '<br>':
strCont = strCont.replace(reg, "\n");
break;
case '<br/>':
strCont = strCont.replace(reg, "\n");
break;
case '<p>':
strCont = strCont.replace(reg, "");
break;
case '</p>':
strCont = strCont.replace(reg, "\n");
break;
case ' ':
strCont = strCont.replace(reg, "\ ");
break;
default:
strCont = strCont.replace(reg, "");
break;
}
}
return strCont;
}
2. 获取所有选中的checkbox值
- 返回值是以逗号分隔的字符串,如:2562,2568,6532,5268 如果没有选择返回空
function getCheckBox() {
var chk_value = [];
var stringValue = "";
$('input[name="grade"]:checked').each(function() {
chk_value.push($(this).val());
});
if (chk_value.length == 0)
return "";
else {
for (var i in chk_value) {
stringValue += chk_value[i] + ',';
}
stringValue=stringValue.substring(0, stringValue.length - 1); //去掉最后一个逗号
}
return stringValue;
}
3. 生成唯一字符串
function NewGuid() {
function S4() {
return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
}
return (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4());
}
4. 拼接图片附件,在图片路径前加上当前域名做为全路径
- @param {Object} attachments 以逗号分隔的附件字符串
function pathString(attachments) {
if (attachments != '' && attachments != ' ' && attachments != null) {
var pathStr = '';
var attArr = attachments.split(',');
for (var i in attArr) {
pathStr += host + attArr[i] + ",";
}
return pathStr.substring(0, pathStr.length - 1);
} else {
return '';
}
}
5. 把在textarea的换行符和空格符替换为相应的html表达字符
- @param {Object} strCont
- @param {Object} array
function Retextarea(strCont, array) {
for (var i in array) {
var item = array[i];
var reg = new RegExp("\\" + item, "g");
switch(item) {
case '\r\n':
strCont = strCont.replace(reg, "<br/>");
break;
case '\ ':
strCont = strCont.replace(reg, " ");
break;
default:
strCont = strCont.replace(reg, "");
break;
}
}
return strCont;
}
6. 对Date的扩展,将 Date 转化为指定格式的String
- 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
- 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
- 例子:
(new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
(new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
Date.prototype.Format = function (fmt) { //author: meizz
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
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;
}
7. js截取字符串,中英文都能用
- @param str:需要截取的字符串
- @param len: 需要截取的长度
function cutstr(str, len) {
var str_length = 0;
var str_len = 0;
str_cut = new String();
str_len = str.length;
for (var i = 0; i < str_len; i++) {
a = str.charAt(i);
str_length++;
if (escape(a).length > 4) {
//中文字符的长度经编码之后大于4
str_length++;
}
str_cut = str_cut.concat(a);
if (str_length >= len) {
str_cut = str_cut.concat("...");
return str_cut;
}
}
//如果给定字符串小于指定长度,则返回源字符串;
if (str_length < len) {
return str;
}
}
8. JQuery / js判断复选框是否选中状态
//JQuery:
var $isChecked = $("#id").is(":checked");
alert($isChecked);
//JS:
var $id = document.getElementById("id");
alert($id.checked);
//Notes:
//JQuery中,is函数里的必须要有冒号,否则不见效;
//JS中,必须调用checked 即>>> .checked
9. 把时间戳转换为当前日期
function ToTime(timestamp) {
var newDate = new Date();
newDate.setTime(timestamp);
return formatDate(newDate);
}
10. 把时间转换为想要的格式
function formatDate(dateTimeStamp) {
var year = dateTimeStamp.getFullYear();
var month = dateTimeStamp.getMonth() + 1;
var date = dateTimeStamp.getDate();
var hour = dateTimeStamp.getHours();
var minute = dateTimeStamp.getMinutes();
var second = dateTimeStamp.getSeconds();
//今天的时间戳
var p_minute = 1000 * 60;
var p_hour = p_minute * 60;
var p_day = p_hour * 24;
var p_month = p_day * 30;
var nowtTimeStamp = new Date().getTime();
var diffValue = nowtTimeStamp - dateTimeStamp;
var monthC = diffValue / p_month;
var weekC = diffValue / (7 * p_day);
var dayC = diffValue / p_day;
var hourC = diffValue / p_hour;
var minC = diffValue / p_minute;
//现在的时间
var dateN = new Date();
var hourD = hourC - dateN.getHours();
var dayD = dayC - dateN.getDate();
//alert(dayC+','+monthC);
if (hourD < 0) {
result = hour + ":" + minute;
} else if (hourD > 0 && hourD < 24) {
result = "昨天 " + hour + ":" + minute;
} else if (dayC > 2 && monthC < 12) {
//result = month + "月" + date + "日 " + hour + ":" + minute;
result = month + "-" + date + " " + hour + ":" + minute;
} else {
//result = year + "年" + month + "月" + date + "日 " + hour + ":" + minute;
//result = month + "月" + date + "日 " + hour + ":" + minute;
result = month + "-" + date + " " + hour + ":" + minute;
}
return result;
}
11. js Replace全部替换字符 用法.
var r= "1\n2\n3\n";
//将字母\n替换成分号
alert(r.replace(/\n/g, ";"));
// 结果:1;2;3; replace 的第一个参数可以是正则表达式,/g标识全文匹配。
上一篇: Python学习日记(二十五) 接口类、抽象类、多态
下一篇: Hadoop 集群 常见问题