<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ricegun

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      2 Posts :: 4 Stories :: 3 Comments :: 0 Trackbacks

    怎么用 javascript 做數據的格式化

    ?

    作者:老 K

    ???????? 我們在項目中都有用過金額數字及日期等數據格式化輸出顯示,比如前面加上“¥”,數值取小數點后兩位,短日期時間等。一般的高級語言及開發工具都有提供相應的轉換函數如 format 之類,可是我在最近做 web 網上銀行相關的系統時,卻遇到這個很麻煩的問題,就是 javascript 不提供這種 format 函數,查了些資料,知道 vbscript 是有格式化函數的,可是 vbscript 是微軟專用的,無奈只好用正則表達式,可正則表達式也不能夠很通用地解決各種類型轉換問題,真的是很郁悶,無意中找到看到一個 AJAX 開發工具的演示(工具下載地址是點擊鏈接),看到它的數據有顯示“¥”和數值小數點后兩位格式化,馬上下載了看了下,發現它居然是用 javascript+XSL 實現了通用的格式化函數,下載 AJAX WebShop 后,我找到它的 system.js 這個文件,打開找到以下函數:

    function FormatFloat(value,mask)

    {

    ???????? return BasicFormat(value,mask,'FormatNumber')

    }

    function FormatDate(varDate, bstrFormat, varDestLocale)

    {

    ???????? return BasicFormat(varDate,bstrFormat,'FormatDate',varDestLocale);

    }

    function FormatTime(varTime, bstrFormat, varDestLocale)

    {

    ???????? return BasicFormat(varTime,bstrFormat,'FormatTime',varDestLocale);

    }

    function BasicFormat(value,mask,action,param)

    {

    ???????? var xmlDoc;

    ???????? var xslDoc;

    ???????? var v=''+value+''+mask+'';

    ???????? xmlDoc=parseXML(v);

    ?

    ???????? var x;

    ???????? if(isIE)

    ?????????????????? x=''

    ???????? else

    ?????????????????? x='';

    ???????? x+='';

    ???????? if(isIE) {

    ?????????????????? x+=''+action+'('+value+',"'+mask+'"';

    ?????????????????? if(param)x+=','+param;

    ?????????????????? x+=')';

    ???????? }

    ???????? else

    ?????????????????? x+='';

    ?

    ???????? x+='';

    ???????? xslDoc=parseXML(x);

    ???????? var s;

    ???????? if(isIE)

    ???????? ?s= xmlDoc.transformNode(xslDoc)

    ???????? else{

    ?????????????????? //for mozilla/netscape

    ??????? var processor = new XSLTProcessor();

    ?????????????????? processor.importStylesheet(xslDoc);

    ?????????????????? var result = processor.transformToFragment(xmlDoc, xmlDoc);

    ??????? var xmls = new XMLSerializer();

    ??????? s = xmls.serializeToString(result);

    ???????? }

    ???????? return s;

    }

    看來他們對 xsl 用得可真是出神入化了,居然這樣就可以實現很通用的格式化轉換了,當然不客氣了,直接加到我的函數庫中哈。

    ???????? 這個代碼偶沒有看得很懂,不過確實很管用,請對 XSL 精通的朋友分析下也好讓我們學習下。

    posted on 2007-01-05 09:22 第七日 閱讀(972) 評論(1)  編輯  收藏

    Feedback

    # re: 怎么用javascript做數據的格式化[未登錄] 2007-06-03 00:38 -274°C
    如果可以的話,能給我一個嗎?謝謝了。
    我QQ 是 51411970
    郵箱是 hechangmin1983@126.com
    我對xsl也不熟悉,我只是希望在頁面上用到格式化。
    下載時候,我這邊有點問題。  回復  更多評論
      


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 日韩欧美亚洲国产精品字幕久久久| 亚洲日韩小电影在线观看| 亚洲精品免费在线观看| 成人性做爰aaa片免费看| 国产成人99久久亚洲综合精品| 精品在线观看免费| 亚洲av无码国产精品色在线看不卡| 午夜无码A级毛片免费视频| 国产l精品国产亚洲区在线观看| 精品久久久久久国产免费了| 国产亚洲精品无码专区| 免费无码又爽又刺激网站| 亚洲国产精品免费视频| 久久免费看黄a级毛片| 亚洲人成电影网站久久| www一区二区www免费| 国产精一品亚洲二区在线播放| 日本不卡免费新一区二区三区| 亚洲最大的成网4438| 国产免费AV片在线播放唯爱网| 亚洲人成电影网站色| mm1313亚洲国产精品美女| 亚洲一区二区三区高清视频| 免费观看黄网站在线播放| 波多野结衣亚洲一级| 免费一级特黄特色大片在线观看 | 大胆亚洲人体视频| 国产免费久久久久久无码| 亚洲精品无码Av人在线观看国产 | 久久久青草青青国产亚洲免观| 国产三级在线免费| 亚洲国产精品久久久久秋霞影院| 成年男女免费视频网站| 一级一黄在线观看视频免费| 亚洲视频在线视频| 四虎影视永久免费视频观看| 青青操视频在线免费观看| 99热亚洲色精品国产88| 国产亚洲AV夜间福利香蕉149| 精品福利一区二区三区免费视频| 亚洲av无码av在线播放|