`
try1try
  • 浏览: 11461 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

怎么用javascript做数据的格式化

阅读更多

怎么用javascript做数据的格式化<o:p></o:p>

<o:p> </o:p>

作者:老K<o:p></o:p>

         我们在项目中都有用过金额数字及日期等数据格式化输出显示,比如前面加上“¥”,数值取小数点后两位,短日期时间等。一般的高级语言及开发工具都有提供相应的转换函数如format之类,可是我在最近做web网上银行相关的系统时,却遇到这个很麻烦的问题,就是javascript不提供这种format函数,查了些资料,知道vbscript是有格式化函数的,可是vbscript是微软专用的,无奈只好用正则表达式,可正则表达式也不能够很通用地解决各种类型转换问题,真的是很郁闷,无意中找到看到一个AJAX开发工具的演示(工具下载地址是点击链接),看到它的数据有显示“¥”和数值小数点后两位格式化,马上下载了看了下,发现它居然是用javascript+XSL实现了通用的格式化函数,下载AJAX WebShop后,我找到它的system.js这个文件,打开找到以下函数:<o:p></o:p>

function FormatFloat(value,mask)<o:p></o:p>

{<o:p></o:p>

         return BasicFormat(value,mask,'FormatNumber')<o:p></o:p>

}<o:p></o:p>

function FormatDate(varDate, bstrFormat, varDestLocale)<o:p></o:p>

{<o:p></o:p>

         return BasicFormat(varDate,bstrFormat,'FormatDate',varDestLocale);<o:p></o:p>

}<o:p></o:p>

function FormatTime(varTime, bstrFormat, varDestLocale)<o:p></o:p>

{<o:p></o:p>

         return BasicFormat(varTime,bstrFormat,'FormatTime',varDestLocale);<o:p></o:p>

}<o:p></o:p>

function BasicFormat(value,mask,action,param)<o:p></o:p>

{<o:p></o:p>

         var xmlDoc;<o:p></o:p>

         var xslDoc;<o:p></o:p>

         var v='<formats><format><value>'+value+'</value><mask>'+mask+'</mask></format></formats>';<o:p></o:p>

         xmlDoc=parseXML(v);<o:p></o:p>

<o:p> </o:p>

         var x; <o:p></o:p>

         if(isIE)<o:p></o:p>

                   x='<xsl:stylesheet xmlns:xsl="uri:xsl">'<o:p></o:p>

         else<o:p></o:p>

                   x='<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">';<o:p></o:p>

         x+='<xsl:template match="/">';<o:p></o:p>

         if(isIE) {<o:p></o:p>

                   x+='<xsl:eval>'+action+'('+value+',"'+mask+'"';<o:p></o:p>

                   if(param)x+=','+param;<o:p></o:p>

                   x+=')</xsl:eval>';<o:p></o:p>

         }<o:p></o:p>

         else<o:p></o:p>

                   x+='<xsl:value-of select="format-number('+value+',\''+mask+'\')" />';<o:p></o:p>

<o:p> </o:p>

         x+='</xsl:template></xsl:stylesheet>';<o:p></o:p>

         xslDoc=parseXML(x);<o:p></o:p>

         var s;<o:p></o:p>

         if(isIE)<o:p></o:p>

          s= xmlDoc.transformNode(xslDoc)<o:p></o:p>

         else{<o:p></o:p>

                   //for mozilla/netscape <o:p></o:p>

        var processor = new XSLTProcessor(); <o:p></o:p>

                   processor.importStylesheet(xslDoc);<o:p></o:p>

                   var result = processor.transformToFragment(xmlDoc, xmlDoc);<o:p></o:p>

        var xmls = new XMLSerializer(); <o:p></o:p>

        s = xmls.serializeToString(result);<o:p></o:p>

         }<o:p></o:p>

         return s;<o:p></o:p>

}<o:p></o:p>

看来他们对xsl用得可真是出神入化了,居然这样就可以实现很通用的格式化转换了,当然不客气了,直接加到我的函数库中哈。<o:p></o:p>

         这个代码偶没有看得很懂,不过确实很管用,请对XSL精通的朋友分析下也好让我们学习下。<o:p></o:p>

分享到:
评论
2 楼 daoger 2006-12-27  
不错,我们在处理电价的时候本来想在价格前面加上¥符号的,可是显示的时候有乱码,就放弃了!
参考一下LZ的!呵呵!
1 楼 adamzhao 2006-12-27  
兄弟,还缺xsl文件呢,一并上来吧

相关推荐

    javascript日期格式化

    日期格式化是一个常见的需求,无论是为了展示用户友好的日期格式,还是在处理服务器数据交换时。在JavaScript中,我们可以使用内置的`Date`对象来创建、操作和格式化日期。 首先,`Date`对象是JavaScript中的内置...

    json数据格式化(editplus 格式化 Json 工具 )

    在开发过程中,除了EditPlus,还有其他很多工具可以用来格式化JSON数据,比如在线的JSON校验和格式化工具(如JSONLint)、IDE内置的格式化功能(如Visual Studio Code、IntelliJ IDEA等),以及命令行工具(如jq)。...

    EXTJS Javascript HTML 代码格式化 工具

    3. WebStorm:一款强大的JavaScript IDE,内置代码格式化功能,对EXTJS有良好的支持。 4. CodeMirror:一个轻量级的在线代码编辑器,可以用于构建自己的代码格式化工具。 使用这些工具,开发者可以轻松地管理和维护...

    xml_format.rar_javascript_xml格式化

    标题"xml_format.rar_javascript_xml格式化"表明这个压缩包包含了一个用JavaScript实现的XML格式化工具。这个工具可能是以正则表达式为基础,通过匹配和替换来完成XML标签的缩进和格式化工作。正则表达式在...

    javascript格式化和压缩工具

    JavaScript是一种广泛应用于网页和网络应用的编程语言,其代码量往往较大,为了提高网页加载速度和减少网络传输的数据量,我们需要对JavaScript代码进行格式化和压缩。本文将深入探讨JavaScript格式化和压缩工具,...

    json数据在Html页面格式化显示

    总结来说,"json数据在Html页面格式化显示"是一个常见的开发需求,它涉及到JSON解析、HTML生成、JavaScript事件处理和CSS样式设计等多个技术领域。通过这些技术的结合,可以创建出一个用户友好的界面,便于查看和...

    json 数据格式化 小工具

    总的来说,“JSON数据格式化小工具”是一个实用的开发辅助软件,它不仅简化了JSON、JavaScript对象及CSS内容的阅读和理解,还节省了手动整理的时间,是每位开发者工具箱中的必备良品。无论你是新手还是经验丰富的...

    javascript 日期数字文本格式化

    在JavaScript中,日期和数字的文本格式化是一个常见的需求,特别是在构建用户界面或者处理数据时。这个主题主要涉及如何将日期对象转换为易读的字符串,以及如何对数字进行格式化,使其符合特定的显示标准。这篇博文...

    javascript精确计算日期处理金额格式化

    在JavaScript开发中,日期处理和金额格式化是两个常见的需求,尤其在财务或者数据分析相关的应用中更为重要。JavaScript原生提供了Date对象来处理日期,但其功能相对有限,因此开发者通常会利用各种库来增强其功能,...

    javascript 格式化工具

    JavaScript格式化工具是一种用于美化和优化JavaScript代码的实用程序,它可以帮助开发者整理混乱的源代码,使其更易于阅读和维护。这些工具通过自动缩进、换行和对齐等方式,将未经格式化的JavaScript代码转换为遵循...

    JavaScript-HTML格式化 加密解密

    在JavaScript中,我们可以使用内置的字符串方法,如`replace()`、`trim()`和`split()`,来实现简单的格式化。例如,去除空白、换行或缩进。对于更复杂的HTML格式化需求,可以使用第三方库,如`pretty-print`或`js-...

    JavaScript日期和时间格式化全指南

    在JavaScript开发中,处理日期和时间是常见需求之一。...通过本文的详细介绍和示例代码,你应该能够掌握在JavaScript中格式化日期和时间的各种方法,并能够在实际开发中灵活运用这些技巧来处理日期和时间数据。

    格式化javascript工具

    标题提到的“格式化javascript工具”就是为了解决这一问题,帮助开发者整理和规范JavaScript代码的格式。 该工具特别针对JSP页面中的JavaScript代码,我们知道JSP(JavaServer Pages)是Java的一种动态网页技术,它...

    sql格式化JS脚本

    这个JavaScript库`SqlFormat.js`允许前端开发者在用户界面直接处理和格式化SQL查询,无需后端服务器的支持。这对于前端开发人员来说尤其有用,因为他们可以直接在前端环境中预览和编辑SQL查询,提高开发效率和代码...

    normat通用javascript编号字符串格式化

    2. **货币格式化**:对于处理财务数据,可能有一个`formatCurrency`函数,它可以将数字转换为特定货币的格式,如美元、欧元等。 3. **字符串填充**:可能包含`padLeft`和`padRight`方法,用于在字符串的左侧或右侧...

    JSON格式化工具-JSON格式化美化工具

    HTML文件作为用户界面,呈现JSON数据,而JavaScript文件则是工具的核心,负责处理用户的输入(JSON字符串),进行格式化操作,并将结果显示在HTML页面上。这样的设计使得工具具有跨平台性,无论用户使用何种操作系统...

    前端展示json数据,格式化,可折叠展开

    本主题将详细介绍如何在前端实现JSON数据的格式化展示,以及支持折叠和展开的功能。 首先,理解JSON的基本结构是至关重要的。JSON由键值对组成,键必须是字符串,用双引号包围,而值可以是各种类型,如字符串、数字...

    json格式的数据格式化

    JsonView工具是一款针对JSON数据的查看和格式化工具,它使得开发者和非开发人员能够更方便地理解和处理JSON格式的数据。在Web开发中,我们经常需要查看HTTP响应或API返回的JSON数据,而原始的JSON数据往往以紧凑的...

    JavaScript数字格式化函数

    在JavaScript中,数字格式化是将数值转换为特定格式的过程,比如添加逗号分隔符、保留小数位数、货币格式等。这通常涉及到字符串处理和数学运算。本篇文章将深入探讨JavaScript中的数字格式化函数及其应用。 一、...

    mac上sublime 支持json, xml 格式化

    为了更好地处理JSON和XML这两种常见的数据格式,Sublime Text提供了相应的插件支持,使得格式化这两种文件变得更加方便。这篇博文()可能详细介绍了如何在Sublime Text中安装和使用这些插件。 **JSON格式化** ...

Global site tag (gtag.js) - Google Analytics