String.prototype.startWith=function(str){ if(str==null||str==""||this.length==0||str.length>this.length) return false; if(this.substr(0,str.length)==str) return true; else return false; return true; } String.prototype.endWith=function(str){ if(str==null||str==""||this.length==0||str.length>this.length) return false; if(this.substring(this.length-str.length)==str) return true; else return false; return true; } //日期格式化 Date.prototype.format = function(format){ if(!format){ format = 'yyyy-MM-dd';// 默认1997-01-01这样的格式 } 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; } var config={ serverUrl:"//"+location.host } function Core(){ } Core.prototype.numformat=function(){ var num = (num || 0).toString(), result = ''; var suffix=""; if(num.indexOf(".")>-1){ var t = num.split("."); num=t[0]; suffix = "." + t[1]; } while (num.length > 3) { result = ',' + num.slice(-3) + result; num = num.slice(0, num.length - 3); } if (num) { result = num +""+ result; } return result+suffix; } Core.prototype.token=function(d){ d.createAt = new Date(); return this.data("token",d); } Core.prototype.error=function(d){ alert(d) } Core.prototype.alert=function(d){ alert(d) } //用于存储信息 Core.prototype.data=function(k,d){ //console.log("data",k,d) if(typeof d=="undefined"){ var o = localStorage.getItem(k); if(o==null){ return null; }else{ o = JSON.parse(o) return o[k] } }else if(null==d){ return localStorage.removeItem(k) }else{ var o = {} o[k] = d; return localStorage.setItem(k,JSON.stringify(o)) } } //用于存储信息 Core.prototype.api=function(uri){ if(uri.startWith("/")){ return config.serverUrl+uri }else{ return config.serverUrl+"/"+uri } } Core.prototype.post=function(uri,data,fn){ var url = this.api(uri) return new Promise(function (resolve, reject) { var xhr = new XMLHttpRequest(); xhr.open("POST",url, true); // 添加http头,发送信息至服务器时内容编码类型 xhr.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" ); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 304)) { resolve(JSON.parse(xhr.responseText)); } }; xhr.onerror = function(){ reject({"code":-1,"msg":"服务器繁忙"}) } var _data=[]; for(var i in data){ _data.push( i +"=" + encodeURI(data[i])); } xhr.send(_data.join("&")); }) } Core.prototype.uploadfile=function(uri,dom){ var url = this.api(uri) return new Promise(function (resolve, reject) { var xhr = new XMLHttpRequest(); xhr.open("POST",url, true); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 304)) { resolve(JSON.parse(xhr.responseText)); } }; xhr.onerror = function(){ reject({"code":-1,"msg":"服务器繁忙"}) } var formdata = new FormData(); formdata.append("file",dom.files[0]) xhr.send(formdata); }) } Core.prototype.uploadmp3=function(uri,blob){ var url = this.api(uri) return new Promise(function (resolve, reject) { var xhr = new XMLHttpRequest(); xhr.open("POST",url, true); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 304)) { resolve(JSON.parse(xhr.responseText)); } }; xhr.onerror = function(){ reject({"code":-1,"msg":"服务器繁忙"}) } var formdata = new FormData(); formdata.append("filetype",".mp3"); formdata.append("file",blob) xhr.send(formdata); }) } Core.prototype.parseUri = function(url){ if(typeof url=="undefined"){ url= location.href; } var query = url.substr(url.indexOf("?")); query=query.substr(1); var reg = /([^=&\s]+)[=\s]*([^=&\s]*)/g; var obj = {}; while(reg.exec(query)){ obj[RegExp.$1] = decodeURI(RegExp.$2); } return obj; } Core.prototype.parseQuery = function(name){ var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象 var r = window.location.search.substr(1).match(reg); //匹配目标参数 if (r != null) return decodeURI(unescape(r[2])); return null; //返回参数值 } Core.prototype.isemail = function(email){ return /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+[\.][a-zA-Z0-9_-]+$/.test(email) } Core.prototype.ismobile = function(mobile){ return /^[1][34578][0-9]{9}$/.test(mobile) } Core.prototype.test = function(reg,data){ var reg = new RegExp(reg); //构造一个含有目标参数的正则表达式对象 return reg.test(data) } window.util = new Core();