as3日期格式化以及htmlText的安全转义类

package org.juke{
public class Tools {

//时间格式化
public static function fitInTime (second:Number, isShort:Boolean = false, millisecond:Boolean = false):String
{
return TimeTool.timeFormat (second, isShort, millisecond);
}
//特殊字符转义 HTML 格式
public static function htmlspecialchars (text:String):String
{
return StringTool.htmlspecialchars (text);
}
}
}

/
//特殊字符转义 HTML 格式
/
class StringTool
{
static function htmlspecialchars (string = null, quote_style = null)
{
// Convert special characters to HTML entities
//
// version: 812.3017
// discuss at: http://phpjs.org/functions/htmlspecialchars

// + original by: Mirek Slugen
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + bugfixed by: Nathan
// + bugfixed by: Arno
// + revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// - depends on: get_html_translation_table
// * example 1: htmlspecialchars("<a href='test'>Test</a>", 'ENT_QUOTES');
// * returns 1: '<a href='test'>Test</a>'

var histogram = {}, symbol = '', tmp_str = '', entity = '';
tmp_str = string.toString();

if (false === (histogram = get_html_translation_table('HTML_SPECIALCHARS', quote_style))) {
return false;
}

for (symbol in histogram) {
entity = histogram[symbol];
tmp_strtmp_str = tmp_str.split(symbol).join(entity);
}

return tmp_str;
}

static function get_html_translation_table (table = null, quote_style = null)
{
// Returns the internal translation table used by htmlspecialchars and htmlentities
//
// version: 901.714
// discuss at: http://phpjs.org/functions/get_html_translation_table

// + original by: Philip Peterson
// + revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + bugfixed by: noname
// % note: It has been decided that we're not going to add global
// % note: dependencies to php.js. Meaning the constants are not
// % note: real constants, but strings instead. integers are also supported if someone
// % note: chooses to create the constants themselves.
// % note: Table from http://www.the-art-of-web.com/html/character-codes/
// * example 1: get_html_translation_table('HTML_SPECIALCHARS');
// * returns 1: {'"': '"', '&': '&', '<': '<', '>': '>'}

var entities = {},histogram = {},decimal = 0,symbol = '';
var constMappingTable = {},constMappingQuoteStyle = {};
var useTable = {},useQuoteStyle = {};

useTable = (table ? table.toUpperCase() : 'HTML_SPECIALCHARS');
useQuoteStyle = (quote_style ? quote_style.toUpperCase() : 'ENT_COMPAT');

// Translate arguments
constMappingTable[0] = 'HTML_SPECIALCHARS';
constMappingTable[1] = 'HTML_ENTITIES';
constMappingQuoteStyle[0] = 'ENT_NOQUOTES';
constMappingQuoteStyle[2] = 'ENT_COMPAT';
constMappingQuoteStyle[3] = 'ENT_QUOTES';

// Map numbers to strings for compatibilty with PHP constants
if (! isNaN(useTable))
{
useTable = constMappingTable[useTable];
}
if (! isNaN(useQuoteStyle))
{
useQuoteStyle = constMappingQuoteStyle[useQuoteStyle];
}

if (useQuoteStyle != 'ENT_NOQUOTES')
{
entities['34'] = '"';
}

if (useQuoteStyle == 'ENT_QUOTES')
{
entities['39'] = ''';
}

if (useTable == 'HTML_SPECIALCHARS')
{
// ascii decimals for better compatibility
entities['38'] = '&';
entities['60'] = '<';
entities['62'] = '>';
}
else if (useTable == 'HTML_ENTITIES')
{
// ascii decimals for better compatibility
entities['38'] = '&';
entities['60'] = '<';
entities['62'] = '>';
entities['160'] = ' ';
entities['161'] = '¡';
entities['162'] = '¢';
entities['163'] = '£';
entities['164'] = '¤';
entities['165'] = '¥';
entities['166'] = '¦';
entities['167'] = '§';
entities['168'] = '¨';
entities['169'] = '©';
entities['170'] = 'ª';
entities['171'] = '«';
entities['172'] = '¬';
entities['173'] = '­';
entities['174'] = '®';
entities['175'] = '¯';
entities['176'] = '°';
entities['177'] = '±';
entities['178'] = '²';
entities['179'] = '³';
entities['180'] = '´';
entities['181'] = 'µ';
entities['182'] = '¶';
entities['183'] = '·';
entities['184'] = '¸';
entities['185'] = '¹';
entities['186'] = 'º';
entities['187'] = '»';
entities['188'] = '¼';
entities['189'] = '½';
entities['190'] = '¾';
entities['191'] = '¿';
entities['192'] = 'À';
entities['193'] = 'Á';
entities['194'] = 'Â';
entities['195'] = 'Ã';
entities['196'] = 'Ä';
entities['197'] = 'Å';
entities['198'] = 'Æ';
entities['199'] = 'Ç';
entities['200'] = 'È';
entities['201'] = 'É';
entities['202'] = 'Ê';
entities['203'] = 'Ë';
entities['204'] = 'Ì';
entities['205'] = 'Í';
entities['206'] = 'Î';
entities['207'] = 'Ï';
entities['208'] = 'Ð';
entities['209'] = 'Ñ';
entities['210'] = 'Ò';
entities['211'] = 'Ó';
entities['212'] = 'Ô';
entities['213'] = 'Õ';
entities['214'] = 'Ö';
entities['215'] = '×';
entities['216'] = 'Ø';
entities['217'] = 'Ù';
entities['218'] = 'Ú';
entities['219'] = 'Û';
entities['220'] = 'Ü';
entities['221'] = 'Ý';
entities['222'] = 'Þ';
entities['223'] = 'ß';
entities['224'] = 'à';
entities['225'] = 'á';
entities['226'] = 'â';
entities['227'] = 'ã';
entities['228'] = 'ä';
entities['229'] = 'å';
entities['230'] = 'æ';
entities['231'] = 'ç';
entities['232'] = 'è';
entities['233'] = 'é';
entities['234'] = 'ê';
entities['235'] = 'ë';
entities['236'] = 'ì';
entities['237'] = 'í';
entities['238'] = 'î';
entities['239'] = 'ï';
entities['240'] = 'ð';
entities['241'] = 'ñ';
entities['242'] = 'ò';
entities['243'] = 'ó';
entities['244'] = 'ô';
entities['245'] = 'õ';
entities['246'] = 'ö';
entities['247'] = '÷';
entities['248'] = 'ø';
entities['249'] = 'ù';
entities['250'] = 'ú';
entities['251'] = 'û';
entities['252'] = 'ü';
entities['253'] = 'ý';
entities['254'] = 'þ';
entities['255'] = 'ÿ';
}
else
{
throw Error("Table: " + useTable + ' not supported');
return false;
}

// ascii decimals to real symbols
for (decimal in entities)
{
symbol = String.fromCharCode(decimal);
histogram[symbol] = entities[decimal];
}
return histogram;
}
}

/
//时间格式化代码
/

class TimeTool {
static const JK_MINUTE:int = 60;
static const JK_HOUR:int = 3600;
static const JK_DAY:int = 86400;
static var s_second:String;
static var s_minute:String;
static var s_hour:String;
static var s_day:String;
static function timeFormat (second:Number, isShort:Boolean, millisecond:Boolean):String
{
//based on PHP by Kele@Juke;
//convert to AS3 by DDK2@Juke;

if (isShort)
{
s_second = " s ";
s_minute = " m ";
s_hour = " h ";
s_day = " d ";
}
else
{
s_second = " seconds ";
s_minute = " minutes ";
s_hour = " hours ";
s_day = " days ";
}

if (millisecond) {
second /= 1000;
secondsecond = second >> 0;
}

if(second < JK_MINUTE){
return String(second) + s_second;
}

if (second < JK_HOUR) {
return String ((second / JK_MINUTE) >> 0) + s_minute;// + String (second % JK_MINUTE) + s_second;
}

if (second < JK_DAY) {
//var over:int = second % JK_HOUR;
return String ((second / JK_HOUR) >> 0) + s_hour;// + String((over/JK_MINUTE) >> 0) + s_minute +String (over % JK_MINUTE) + s_second;
}

//var overDay:int = second % JK_DAY;
//var overHour:int = overDay % JK_HOUR;
return String ((second / JK_DAY) >> 0) + s_day;// + String((overDay / JK_HOUR) >> 0) + s_hour + String ((overHour / JK_MINUTE) >> 0) + s_minute + String (overHour % JK_MINUTE) + s_second;
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值