字符串长度计算、截取、url参数获取、计算百分比、时间戳格式化
1.中英混合文字字符截取
//中文长度截取计算,可取中英混合,个数向上取整,精确度1个英文字符误差,一个英文算一个字符,一个汉字算一个字符。 //sub("中文zlsd",1) -> "中" //sub("中文zlsd",3) -> "中文" function subCh (str,n){ var r=/[^\x00-\xff]/g; if(str.replace(r,"mm").length<=n){return str;} var m=Math.floor(n/2); for(var i=m;i<str.length;i++){ if(str.substr(0,i).replace(r,"mm").length>=n){ return str.substr(0,i); } } return str; }
2.去掉字符前后空格
//去掉字符串前后空格
String.prototype.trim = function () { return this.replace(/^\s*/, "").replace(/\s*$/, ""); }
3.获取中英文字符串长度
//获取中英文字符串长度,一个中文算一个,一个英文算一个 function getStrLength(str){ var cArr = str.match(/[^\x00-\xff]/ig); return str.length + (cArr == null ? 0 : cArr.length); }
4.获取url参数
//url参数获取 String.prototype.GetValue= function(parm) { var reg = new RegExp("(^|&)"+ parm +"=([^&]*)(&|$)"); var r = this.substr(this.indexOf("\?")+1).match(reg); if (r!=null) return unescape(r[2]); return null; }
5.百分比计算
function GetPercent(num, total) { num = parseFloat(num); total = parseFloat(total); if (isNaN(num) || isNaN(total)) { return "-"; } return total <= 0 ? "0%" : (Math.round(num / total * 10000) / 100.00 + "%"); }
6.时间戳格式化
Date.prototype.format = function(format) { var date = { "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+)/i.test(format)) { format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length)); } for (var k in date) { if (new RegExp("(" + k + ")").test(format)) { format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? date[k] : ("00" + date[k]).substr(("" + date[k]).length)); } } return format; }
new Date(list[i].possitionUpdateTime).format('yyyy-MM-dd h:m:s');//2015-04-28 23:47:52
复杂的事情简单化,简单的事情重复做。