1. js仿后台的字符串的StringFormat方法

  在做前端页面时候,经常会对字符串进行拼接处理,但是直接使用字符串拼接,不但影响阅读,而且影响执行效率,且jQuery有没有定义字符串的StringFormat方法,只好自己写一个。

function StringFormat() {if (arguments.length == 0)return null;var str = arguments[0];for (var i = 1; i < arguments.length; i++) {var re = new RegExp('\\{' + (i - 1) + '\\}', 'gm');str = str.replace(re, arguments[i]);}return str;
} 

  使用方法与后台的StringFormat方法一样,StringFormat("abc{0}def","123");输出结果为"abc123def"。

2. js实现日期格式化

  前端页面会经常将日期按照不同的格式输出显示,但是jQuery自身也没有对日期进行格式化的方法,以下代码可以简单实现该功能。

    function Format(now,mask){var d = now;var zeroize = function (value, length){if (!length) length = 2;value = String(value);for (var i = 0, zeros = ''; i < (length - value.length); i++){zeros += '0';}return zeros + value;};return mask.replace(/"[^"]*"|'[^']*'|\b(?:d{1,4}|m{1,4}|yy(?:yy)?|([hHMstT])\1?|[lLZ])\b/g, function ($0){switch ($0){case 'd': return d.getDate();case 'dd': return zeroize(d.getDate());case 'ddd': return ['Sun', 'Mon', 'Tue', 'Wed', 'Thr', 'Fri', 'Sat'][d.getDay()];case 'dddd': return ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'][d.getDay()];case 'M': return d.getMonth() + 1;case 'MM': return zeroize(d.getMonth() + 1);case 'MMM': return ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'][d.getMonth()];case 'MMMM': return ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'][d.getMonth()];case 'yy': return String(d.getFullYear()).substr(2);case 'yyyy': return d.getFullYear();case 'h': return d.getHours() % 12 || 12;case 'hh': return zeroize(d.getHours() % 12 || 12);case 'H': return d.getHours();case 'HH': return zeroize(d.getHours());case 'm': return d.getMinutes();case 'mm': return zeroize(d.getMinutes());case 's': return d.getSeconds();case 'ss': return zeroize(d.getSeconds());case 'l': return zeroize(d.getMilliseconds(), 3);case 'L': var m = d.getMilliseconds();if (m > 99) m = Math.round(m / 10);return zeroize(m);case 'tt': return d.getHours() < 12 ? 'am' : 'pm';case 'TT': return d.getHours() < 12 ? 'AM' : 'PM';case 'Z': return d.toUTCString().match(/[A-Z]+$/);// Return quoted strings with the surrounding quotes removeddefault: return $0.substr(1, $0.length - 2);}});};

  使用时候直接调用方法 Format(date,"yyyy-MM-dd HH:mm");输出格式为 "2015-10-14 16:50";第一个参数为时间,第二个参数为输出格式。

  格式中代表的意义:

    d:日期天数;dd:日期天数(2位,不够补0);ddd:星期(英文简写);dddd:星期(英文全拼);

    M:数字月份;MM:数字月份(2位,不够补0);MMM:月份(英文简写);MMMM:月份(英文全拼);

    yy:年份(2位);yyyy:年份;

    h:小时(12时计时法);hh:小时(2位,不足补0;12时计时法);

    H:小时(24时计时法);HH:小时(2位,不足补0;24时计时法);

    m:分钟;mm:分钟(2位,不足补0);

    s:秒;ss:秒(2位,不足补0);

    l:毫秒数(保留3位);

    tt: 小时(12时计时法,保留am、pm);TT: 小时(12时计时法,保留AM、PM);

  很古老的东西了,今天偶尔整理一下,希望能够帮到大家,谢谢。

转载于:https://www.cnblogs.com/xuyangblog/p/4878043.html

前端js、jQuery实现日期格式化、字符串格式化相关推荐

  1. js对json、xml字符串格式化(美化增强可读性)

    目录 格式化json 格式化xml 格式化json json格式化工具:JSON在线编辑器-89工具网JSON编辑器在线是一个在线编辑JSON的编辑器工具,可以把JSON内容或JSON文件进行格式化解 ...

  2. 前端 js jQuery ajax实现文件流下载, 下载doc,xsl等文件内容乱码问题

    问题描述: 前端通过jQuery ajax接受后端的文件流,前端下载文件后内容乱码 后端代码: Header("Content-type: application/octet-stream& ...

  3. javascript 校验 非空_前端(js+JQuery非空校验)

    1.倒退://history.go(-1);//javascript: history.back(); 两种页面跳转的方法: //Response.Write(""); Page. ...

  4. 前端js的数字转化为字符串相互转化

    一:数字转化为字符串 var num = 123 1. num = num + '' // 打印得到 '123' 2. num = num.toString() // 打印得到 '123' 3. nu ...

  5. 前端JS将其他数值转换为字符串类型

    方法一:调用toString()方法,该方法不影响原变量,返回值为转换后的结果. 注意:null和undefined这两种数据类型没有toString()方法,使用会报错. const i = 21; ...

  6. 前端JS数组问题: 数组去重, 字符串分割成数组, 数组拼接成字符串

    1. 数组去重: Array.from(new Set(arr_name)) let arr1 = ['张三','李四','王五','李四','赵六','张三'];let arr2 = Array.f ...

  7. 前端,JS,JQuery 遍历Map对象获取Key,Value

    let data =tableData.value[0]; for(const key in data){console.log("key名称是:"+key+",key的 ...

  8. Day010---java中的字符串处理,字符串格式化及日期格式化。

    目录 一,String类 1,String类创建对象 2,字符串与某个类的实例对象的连接 3,字符串的操作 1)equals()比较字符串 2)regionMatches()比较字符 3)starts ...

  9. 零基础入门学习Python(14)-格式化字符串

    什么是格式化字符串 格式化字符串就是按照统一的规格去输出一个字符串,如果规格不统一,就很可能造成误会 format()方法 接受位置参数和关键字参数两种参数 二者均传递到一个replacement的字 ...

  10. python格式化字符串_阿博的Python之路详解String数据类型

    这是阿博的第16篇文章 之前分享了Python的Number数据类型,今天给大家详细讲一下我学习到Python的String数据类型.在日常开发当中String类型应该是我们最常使用到的数据类型,那么 ...

最新文章

  1. Java之socket编程
  2. BPSK,QPSK,2FSK,16QAM,64QAM信号在高斯信道与瑞利信道下的误码率性能仿真
  3. LoadRunner 参数模拟——快速得到并发用户的进场规则
  4. python3精要(30)-深入列表解析
  5. Elasticsearch分页查询Fromamp;Size VS scroll
  6. java中write方法报错_Java中管道报错:Write end dead
  7. 禁用安全模式(2k,2k3,xp)
  8. 渗透测试中linux常用命令
  9. QPSK映射关系与差分编码
  10. 使用MySql Workbench创建存储过程,在表中插入100条数据
  11. DOTA数据集+YOLOV5
  12. 【转】4G手机打电话为什么会断网 4G上网和通话不能并存原因分析
  13. web中gzip,deflate的压缩与解压
  14. Mysql数据库管理系统原理及基本操作
  15. QT Quick项目简介
  16. WinForm开发钉钉(1) 调用机器人发送消息到钉钉群
  17. 设计模式无招胜有招之设计目的
  18. 魔性,用 Python 实现火爆全网的「蚂蚁呀嘿」视频特效!
  19. 阅读使人进步《我的书单》
  20. 基于OpenCv的照片美化工具的设计与实现

热门文章

  1. 解决办法:atoi不能将CString 转化为char *
  2. 织梦index.php不更新,亲测dede织梦后台无法更新生成,更新没反应的解决方法
  3. VS C++ 从字符串中查找字符最后一次出现的位置 strrchr
  4. 微型计算机基础知识提纲,自考“微型计算机应用基础”自考大纲(6)
  5. 开课吧9.9学python课_python 自动化运维 零基础入门 课程
  6. 两边放动物对战守城的游戏_疯狂动物园小程序游戏:入口
  7. axure 发布 主页_【最新实习发布!】滴滴后台/数据产品经理实习生
  8. 自动化运维之saltstack
  9. Mysql:如何使用limit
  10. 使用PoolingHttpClientConnectionManager解决httpclient的多线程请求问题