angular.module('push') .filter('substring', function () { return function (str) { if (str.length >= 40) { return str.substr(0, 40) + "..."; } return str; } }) // 字符串最后一位不取 .filter('substringExceptEnd', function () { return function (str) { if (str.length >= 1) { return str.substr(0, str.length - 1); } return str; } }) .filter('toSex', function () { return function (gender) { if (gender) { return "男"; } return "女"; } }) .filter('toDate', function () { return function (date) { var dt = new Date(date.replace(/-/, "/")); var targetday_milliseconds = new Date().getTime(); var flag = targetday_milliseconds - dt.getTime(); if (flag >= 0 && flag <= 1000 * 60) { //0-1分钟 ___ 刚刚 return "刚刚"; } else if (flag > 1000 * 60 && flag < 1000 * 60 * 60) { //1-59分钟 ___ 对应的n分钟前 return parseInt(flag / (1000 * 60)) + "分钟前"; } else if (flag >= 1000 * 60 * 60 && flag <= 1000 * 60 * 60 * 24) { //60-当天 ___ 对应的n小时前,如130分钟为2小时前 return parseInt(flag / (1000 * 60 * 60)) + "小时前"; } else if (flag > 1000 * 60 * 60 * 24) { // 超过当天 ___ 显示具体时间,如12-01 23:55 // var fbdate = new Date().setTime(date); var tYear = dt.getFullYear(); var tMonth = dt.getMonth(); tMonth = doHandleMonth(tMonth + 1); var tDate = dt.getDate(); tDate = doHandleMonth(tDate); var tHour = dt.getHours(); tHour = doHandleMonth(tHour); var tMinute = dt.getMinutes(); tMinute = doHandleMonth(tMinute); // return new Date(parseInt(dt)).toLocaleString().replace(/年|月/g, "-").replace(/日/g, " "); return tYear + "-" + tMonth + "-" + tDate + " " + tHour + ":" + tMinute; } } }) .filter('toDetailDate', function () { return function (date) { var dt = new Date(date.replace(/-/, "/")); var tYear = dt.getFullYear(); var tMonth = dt.getMonth(); tMonth = doHandleMonth(tMonth + 1); var tDate = dt.getDate(); tDate = doHandleMonth(tDate); var tHour = dt.getHours(); tHour = doHandleMonth(tHour); var tMinute = dt.getMinutes(); tMinute = doHandleMonth(tMinute); return tYear + "-" + tMonth + "-" + tDate + " " + tHour + ":" + tMinute; } }) .filter('searchFilter', function () { return function (date) { alert(date); return date; } }) .filter('highlight', function ($sce) { return function (input, word) { if (!word) return input; var result = input.replace(word, "" + word + ""); return $sce.trustAsHtml(result); }; }) //截取日期 保留 hh:mm .filter('substrdate', function () { return function (str) { return str.substr(11, 5); } }) //日期转 yyyy年MM月dd日 星期日 格式 .filter('formatdate', function () { return function (str) { var tempdate = new Date(str); var weekArray = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"]; str = str.replace("-", "年"); str = str.replace("-", "月"); str = str + "日"; return str + " " + weekArray[tempdate.getDay()] } }) //图片地址过滤 .filter('picturefilter', function (ConfigService, UtilService) { return function (str) { if (!UtilService.isDefined(str)) { return ConfigService.imgurl; } else if(str.indexOf("file:") !=-1||str.indexOf("blob:")!=-1){ return str } else { return ConfigService.imgurl + str; } } }) //日期过滤 .filter('datesubstring', function () { return function (str) { str=str?str:''; return str.substring(0, 16); } }) //日期过滤 .filter('datesubstring10', function () { return function (str) { if(str){ console.log(str.split(' ')[0]) // return str.substring(0, 10); return str.split(' ')[0]; }else{ return ''; } } }) //证件号码加 *** 过滤 .filter('cardnofilter', function () { return function (str) { var len = str.length; var str1 = str.substr(0, 1); var str2 = str.substr(1, len - 2); var str3 = str.substr(len - 1, 1); var restr = str1 + str2.replace(/[A-Za-z0-9]/g, "*") + str3; return restr; } }) //手机号码加 *** 过滤 .filter('mobilefilter', function () { return function (str) { var len = str.length; var str1 = str.substr(0, 3); var str3 = str.substr(len - 4, 4); var restr = str1 + "****" + str3; return restr; } }) //图片过滤 .filter('imgfilter', function (ConfigService) { return function (str) { // console.log(angular.isDefined(str)); // str = angular.isDefined(str) ? str : ""; str = str ? str : ""; //str = str.replace("http://192.168.1.28:12345/", ""); str = str.replace("http://pic.ubittc.com/", ""); str = /http/g.test(str)?str:ConfigService.imgurl + str; return str; } }) //小数百分比过滤 .filter('percentfilter', function (ConfigService) { return function (point) { if (point == 0) { return 0; } if (point == 1) { return "100%"; } var str = String(point.toFixed(2) * 100).slice(0, 2) + "%"; return str; } }) // 聊天日期格式化 .filter('chatdate', function (UtilService) { return function (time) { //今天 var day = new Date(new Date().toLocaleDateString()); //昨天 var day1 = new Date(new Date().toLocaleDateString()); day1.setTime(day1.getTime() - 24 * 60 * 60 * 1000); //今天起之前的7天 var day2 = new Date(new Date().toLocaleDateString()); day2.setTime(day2.getTime() - 7 * 24 * 60 * 60 * 1000); /*if (device.platform != "Android") { time = time.replace("-", "/"); time = time.replace("-", "/"); time = time.substr(0, 19); }*/ if (UtilService.compareDate(time, day)) { return time.substr(11, 5); } else if (UtilService.compareDate(time, day1)) { return "昨天 " + time.substr(11, 5); } else if (UtilService.compareDate(time, day2)) { return getWeek(time) + " " + time.substr(11, 5); } else { return new Date(time).Format("yyyy年MM月dd日 hh:mm"); } } }) .filter('duration', function (){ return function(starttime,endtime,format){ // 处理时间 var bgTime=$scope.detail.begintime.split(' '); var edTime=$scope.detail.endtime.split(' '); $scope.organizeTime=''; if(bgTime[0]===edTime[0]){ $scope.organizeTime=bgTime[0]+' '+bgTime.replace(/:00/,'')+' ~ '+edTime.replace(/:00/,''); }else{ $scope.organizeTime=$scope.detail.begintime.replace(/:00/,'')+' ~ '+$scope.detail.endtime.replace(/:00/,''); } } }); function getWeek(date) { var tempdate = new Date(date).getDay(); return "星期" + "日一二三四五六".charAt(tempdate); } function doHandleMonth(month) { var m = month; if (month.toString().length == 1) { m = "0" + month; } return m; }