- 浏览: 580567 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
smilezhouwei:
请问CruiseControl在加载jar包时,由于jar包过 ...
修改CruiseControl的端口 -
zengxuefei:
不起作用啊,有bug
Flex+Java多文件上传 -
lzeus:
模仿的tomcat源码吧?
java事件处理机制(自定义事件)【转】 -
yangbobestone:
...
FreeMarker整合Struts2 -
fddjxllren:
那是因为你没配置事务,楼主的那个主要是针对事务的写法
Spring2.5+JUnit4单元测试
ActionScript字符串工具
package com.xlands.utils { import flash.utils.ByteArray; /** *字符串工具 * */ public class StringUtil { //忽略大小字母比较字符是否相等; public static function equalsIgnoreCase(char1:String, char2:String):Boolean { return char1.toLowerCase() == char2.toLowerCase(); } //比较字符是否相等; public static function equals(char1:String, char2:String):Boolean { return char1 == char2; } //是否为Email地址; public static function isEmail(char:String):Boolean { if (char == null) { return false; } char=trim(char); var pattern:RegExp=/(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/; var result:Object=pattern.exec(char); if (result == null) { return false; } return true; } //是否是数值字符串; public static function isNumber(char:String):Boolean { if (char == null) { return false; } return !isNaN(parseInt(char)) } //是否为Double型数据; public static function isDouble(char:String):Boolean { char=trim(char); var pattern:RegExp=/^[-\+]?\d+(\.\d+)?$/; var result:Object=pattern.exec(char); if (result == null) { return false; } return true; } //Integer; public static function isInteger(char:String):Boolean { if (char == null) { return false; } char=trim(char); var pattern:RegExp=/^[-\+]?\d+$/; var result:Object=pattern.exec(char); if (result == null) { return false; } return true; } //English; public static function isEnglish(char:String):Boolean { if (char == null) { return false; } char=trim(char); var pattern:RegExp=/^[A-Za-z]+$/; var result:Object=pattern.exec(char); if (result == null) { return false; } return true; } //中文; public static function isChinese(char:String):Boolean { if (char == null) { return false; } char=trim(char); var pattern:RegExp=/^[\u0391-\uFFE5]+$/; var result:Object=pattern.exec(char); if (result == null) { return false; } return true; } //双字节 public static function isDoubleChar(char:String):Boolean { if (char == null) { return false; } char=trim(char); var pattern:RegExp=/^[^\x00-\xff]+$/; var result:Object=pattern.exec(char); if (result == null) { return false; } return true; } //含有中文字符 public static function hasChineseChar(char:String):Boolean { if (char == null) { return false; } char=trim(char); var pattern:RegExp=/[^\x00-\xff]/; var result:Object=pattern.exec(char); if (result == null) { return false; } return true; } //注册字符; public static function hasAccountChar(char:String, len:uint=15):Boolean { if (char == null) { return false; } if (len < 10) { len=15; } char=trim(char); var pattern:RegExp=new RegExp("^[a-zA-Z0-9][a-zA-Z0-9_-]{0," + len + "}$", ""); var result:Object=pattern.exec(char); if (result == null) { return false; } return true; } //URL地址; public static function isURL(char:String):Boolean { if (char == null) { return false; } char=trim(char).toLowerCase(); var pattern:RegExp=/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/; var result:Object=pattern.exec(char); if (result == null) { return false; } return true; } // 是否为空白; public static function isWhitespace(char:String):Boolean { switch(char) { case " ": case "\t": case "\r": case "\n": case "\f": return true; default: return false; } } //去左右空格; public static function trim(char:String):String { if (char == null) { return null; } return rtrim(ltrim(char)); } //去左空格; public static function ltrim(char:String):String { if (char == null) { return null; } var pattern:RegExp=/^\s*/; return char.replace(pattern, ""); } //去右空格; public static function rtrim(char:String):String { if (char == null) { return null; } var pattern:RegExp=/\s*$/; return char.replace(pattern, ""); } //是否为前缀字符串; public static function beginsWith(char:String, prefix:String):Boolean { return (prefix == char.substring(0, prefix.length)); } //是否为后缀字符串; public static function endsWith(char:String, suffix:String):Boolean { return (suffix == char.substring(char.length - suffix.length)); } //去除指定字符串; public static function remove(char:String, remove:String):String { return replace(char, remove, ""); } //字符串替换; public static function replace(char:String, replace:String, replaceWith:String):String { return char.split(replace).join(replaceWith); } //utf16转utf8编码; public static function utf16to8(char:String):String { var out:Array=new Array(); var len:uint=char.length; for(var i:uint=0; i < len; i++) { var c:int=char.charCodeAt(i); if (c >= 0x0001 && c <= 0x007F) { out[i]=char.charAt(i); } else if (c > 0x07FF) { out[i]=String.fromCharCode(0xE0 | ((c >> 12) & 0x0F), 0x80 | ((c >> 6) & 0x3F), 0x80 | ((c >> 0) & 0x3F)); } else { out[i]=String.fromCharCode(0xC0 | ((c >> 6) & 0x1F), 0x80 | ((c >> 0) & 0x3F)); } } return out.join(''); } //utf8转utf16编码; public static function utf8to16(char:String):String { var out:Array=new Array(); var len:uint=char.length; var i:uint=0; while(i < len) { var c:int=char.charCodeAt(i++); switch(c >> 4) { case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: // 0xxxxxxx out[out.length]=char.charAt(i - 1); break; case 12: case 13: // 110x xxxx 10xx xxxx var char2:int=char.charCodeAt(i++); out[out.length]=String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F)); break; case 14: // 1110 xxxx 10xx xxxx 10xx xxxx var char3:int=char.charCodeAt(i++); var char4:int=char.charCodeAt(i++); out[out.length]=String.fromCharCode(((c & 0x0F) << 12) | ((char3 & 0x3F) << 6) | ((char4 & 0x3F) << 0)); break; } } return out.join(''); } public static function autoReturn(str:String, c:int):String { var l:int=str.length; if (l < 0) return ""; var i:int=c; var r:String=str.substr(0, i); while(i <= l) { r+="\n"; r+=str.substr(i, c); i+=c; } return r; } public static function limitStringLengthByByteCount(str:String, bc:int, strExt:String="..."):String { if (str == null || str == "") { return str; } else { var l:int=str.length; var c:int=0; var r:String=""; for(var i:int=0; i < l; ++i) { var code:uint=str.charCodeAt(i); if (code > 0xffffff) { c+=4; } else if (code > 0xffff) { c+=3; } else if (code > 0xff) { c+=2; } else { ++c; } if (c < bc) { r+=str.charAt(i); } else if (c == bc) { r+=str.charAt(i); r+=strExt; break; } else { r+=strExt; break; } } return r; } } public static function getCharsArray(targetString:String, hasBlankSpace:Boolean):Array { var tempString:String=targetString; if (hasBlankSpace == false) { tempString=trim(targetString); } return tempString.split(""); } private static var CHINESE_MAX:Number = 0x9FFF; private static var CHINESE_MIN:Number = 0x4E00; private static var LOWER_MAX:Number = 0x007A; private static var LOWER_MIN:Number = 0x0061; private static var NUMBER_MAX:Number = 0x0039; private static var NUMBER_MIN:Number = 0x0030; private static var UPPER_MAX:Number = 0x005A; private static var UPPER_MIN:Number = 0x0041; /** * 返回一段字符串的字节长度(汉字一个字占2,其他占1) */ public static function getStringBytes(str:String):int { return getStrActualLen(str); /* var n:int=0; var l:int=str.length; for(var i:int=0; i < l; ++i) { var code:Number=str.charCodeAt(i); if (code >= CHINESE_MIN && code <= CHINESE_MAX) { n+=2; } else { ++n; } } return n;*/ } /** * 按字节长度截取字符串(汉字一个字占2,其他占1) */ public static function substrByByteLen(str:String, len:int):String { if (str == "" || str == null) return str; var n:int=0; var l:int=str.length; for(var i:int=0; i < l; ++i) { var char:String=str.charAt(i); n += getStrActualLen(char); if (n > len) { str=str.substr(0, i - 1); break; } } return str; } /** * 返回一段字符串的字节长度 */ /* public static function getStringByteLength(str:String):int { if (str == null) return 0; var t:ByteArray=new ByteArray(); t.writeUTFBytes(str); return t.length; }*/ public static function getStrActualLen(sChars:String) : int { if (sChars == "" || sChars == null) return 0; else return sChars.replace(/[^\x00-\xff]/g,"xx").length; } public static function isEmptyString(str:String):Boolean { return str == null || str == ""; } private static var NEW_LINE_REPLACER:String=String.fromCharCode(6); public static function isNewlineOrEnter(code:uint):Boolean { return code == 13 || code == 10; } public static function removeNewlineOrEnter(str:String):String { str=replace(str, "\n", ""); return replace(str, "\r", ""); } /** * 替换掉文本中的 '\n' 为 '\7' */ public static function escapeNewline(txt:String):String { return replace(txt, "\n", NEW_LINE_REPLACER); } /** * 替换掉文本中的 '\7' 为 '\n' */ public static function unescapeNewline(txt:String):String { return replace(txt, NEW_LINE_REPLACER, "\n"); } /** * 判断哪些是全角字符,如果不含有返回空 */ public static function judge(s:String):String { var temps:String=""; var isContainQj:Boolean=false; for(var i:Number=0; i < s.length; i++) { //半角长度是一,特殊符号长度是三,汉字和全角长度是9 if (escape(s.substring(i, i + 1)).length > 3) { temps+="'" + s.substring(i, i + 1) + "' "; isContainQj=true; } } if (isContainQj) { temps; } return temps; } /** * 汉字、全角数字和全角字母都是双字节码,第一个字节的值减去160表示该字在字库中的区 码,第二个字节的值减去160为位码,如‘啊’的16进制编码为B0 A1,换算成十进制数就是 176和161,分别减去160后就是16和1,即‘啊’字的区位码是1601,同样数字和字母的区位 码也是如此,如‘0’是0316,‘1’是0317等,因此判断汉字及全角字符基本上只要看其连 续的两个字节是否大于160,至于半角字符和数字则更简单了,只要到ASCII码表中查一查就 知道了。 * //删除oldstr空格,把全角转换成半角 //根据汉字字符编码规则:连续两个字节都大于160, //全角符号第一字节大部分为163 //~,全角空格第一字节都是161,不知道怎么区分? * / /** * 把含有的全角字符转成半角 */ public static function changeToBj(s:String):String { if (s == null) return null; var temps:String=""; for(var i:Number=0; i < s.length; i++) { if (escape(s.substring(i, i + 1)).length > 3) { var temp:String=s.substring(i, i + 1); if (temp.charCodeAt(0) > 60000) { //区别汉字 var code:Number=temp.charCodeAt(0) - 65248; var newt:String=String.fromCharCode(code); temps+=newt; } else { if (temp.charCodeAt(0) == 12288) temps+=" "; else temps+=s.substring(i, i + 1); } } else { temps+=s.substring(i, i + 1); } } return temps; } /** * 把含有的半角字符转成全角 */ public static function changeToQj(s:String):String { if (s == null) return null; var temps:String=""; for(var i:Number=0; i < s.length; i++) { if (escape(s.substring(i, i + 1)).length > 3) { var temp:String=s.substring(i, i + 1); if (temp.charCodeAt(0) > 60000) { //区别汉字 var code:Number=temp.charCodeAt(0) + 65248; var newt:String=String.fromCharCode(code); temps+=newt; } else { temps+=s.substring(i, i + 1); } } else { temps+=s.substring(i, i + 1); } } return temps; } /** * 在不够指定长度的字符串前补零 * @param str * @param len * @return * */ public static function renewZero(str:String, len:int):String { var bul:String=""; var strLen:int=str.length; if (strLen < len) { for(var i:int=0; i < len - strLen; i++) { bul+="0"; } return bul + str; } else { return str; } } /** * 检查字符串是否符合正则表达式 */ public static function isUpToRegExp(str:String, reg:RegExp):Boolean { if (str != null && reg != null) { return str.match(reg) != null; } else return false; } /** * 是否含有/0结束符的不正常格式的字符串 */ public static function isErrorFormatString(str:String, len:int=0):Boolean { if (str == null || (len != 0 && str.length > len)) return true; else return str.indexOf(String.fromCharCode(0)) != -1; } /** * 返回格式化后的金钱字符串,如1000000 -> 1,000,000 */ public static function getFormatMoney(money:Number):String { var moneyStr:String=money.toString(); var formatMoney:Array=new Array(); for(var index:Number=-1; moneyStr.charAt(moneyStr.length + index) != ""; index-=3) { if (Math.abs(index - 2) >= moneyStr.length) formatMoney.push(moneyStr.substr(0, moneyStr.length + index + 1)); else formatMoney.push(moneyStr.substr(index - 2, 3)); } formatMoney.reverse(); return formatMoney.join(","); } /** * 正整数转为中文数字 * 最大到十位 */ private static const ChineseNumberTable:Array = [0x96f6 ,0x4e00 ,0x4e8c ,0x4e09 ,0x56db ,0x4e94 ,0x516d ,0x4e03 ,0x516b ,0x4e5d ,0x5341]; public static function uintToChineseNumber(u:uint):String { if (u <= 10) { return String.fromCharCode(ChineseNumberTable[u]); } else if (u < 20) { return String.fromCharCode(ChineseNumberTable[10], ChineseNumberTable[u - 10]); } else if (u < 100) { var t:uint = Math.floor(u / 10); var tt:uint = u % 10; if (tt > 0) { return String.fromCharCode(ChineseNumberTable[t], ChineseNumberTable[10], ChineseNumberTable[tt]); } else { return String.fromCharCode(ChineseNumberTable[t], ChineseNumberTable[10]); } } else { return ""; } } /** * 仿照C# 的 String.Format {n} * @param strFormat Format-control string * @param args * @return * */ public static function format(strFormat:String, ...additionalArgs):String { var args:Array = additionalArgs; var reg:RegExp = /\{(\d+)\}/g; return strFormat.replace(reg, function(strResult:String, strMatch:String, pos:int, strSource:String):String { return args[strMatch]; }); } public static const LV1_Split:String = ","; public static const LV2_Split:String = ":"; /** * * @param str 需要分析的字符串 * @param fnOnSplit 分析回调函数 fnOnSplit(str:String):void * */ public static function lv1ParseString(str:String, fnOnSplit:Function):Boolean { if (str == null || str == "") { return false; } var r:Boolean = false; for each (var t:String in str.split(LV1_Split)) { fnOnSplit(t); r = true; } return r; } /** * * @param str 需要分析的字符串 * @param fnOnSplit 分析回调函数 fnOnSplit(strSplits:Array<String>):void * */ public static function lv2ParseString(str:String, fnOnSplit:Function):Boolean { if (str == null || str == "") { return false; } var r:Boolean = false; for each (var t:String in str.split(LV2_Split)) { if (t != null && t == "") { var a:Array = str.split(LV1_Split); if (a.length > 1) { fnOnSplit(a); r = true; } else { //return; } } } return r; } /** * * @param infos 信息数组 * @param fnGetInfoString fnGetInfoString(info:Object):String * @return * */ public static function getLv1SplitString(infos:Array/*<Object>*/, fnGetInfoString:Function):String { if (infos == null || infos.length == 0) { return ""; } var l:int = infos.length; var r:String = fnGetInfoString(infos[0]); var i:int = 1; while (i < l) { r += LV1_Split; r += fnGetInfoString(infos[i]); ++i; } return r; } /** * * @param infos 信息数组 * @param fnGetInfoString fnGetInfoString(info:Object, strLv2Sep:String):String * @return * */ public static function getLv2SplitString(infos:Array/*<Object>*/, fnGetInfoString:Function):String { if (infos == null || infos.length == 0) { return ""; } var l:int = infos.length; var r:String = fnGetInfoString(infos[0], LV2_Split); var i:int = 1; while (i < l) { r += LV1_Split; r += fnGetInfoString(infos[i], LV2_Split); ++i; } return r; } public function StringUtil() { throw new Error("StringUtil class is static container only"); } } }
发表评论
-
AS3 条件编译
2013-06-07 09:38 1308转:http://www.lite3.cn/blog/?p= ... -
TextField没有buttonMode的方法..
2010-12-10 16:28 2300TextField没有buttonMode的方法..不过由于T ... -
ActionScript 处理html超级链接
2010-12-09 11:14 2128ActionScript 处理html超级链接 p ... -
通过代理传参数
2010-07-02 11:43 1391通过代理传参数 package com.xlands.uti ... -
ArrayUtils
2010-07-02 11:36 1502/* Copyright aswing.org, s ... -
将数组随机排序后返回
2010-06-30 16:40 1819将数组随机排序后返回 方法一 /** * ... -
AS类中跳转
2010-06-29 10:22 1799AS类中跳转 navigate ... -
Flash与Javascript交互时可用ExternalInterface类
2010-06-29 10:17 3648Flash与Javascript交互时可用ExternalIn ... -
转载:[as hack技术]垃圾回收机强制执行
2010-06-29 09:47 1430转载:[as hack技术]垃圾回收机强制执行 http:// ... -
Flash中所支持的Html标签
2010-06-24 17:21 1367Flash中所支持的Html标签 ... -
navigateToURL()
2010-06-22 15:27 2493navigateToURL() public fun ... -
ActionScript中Http请求
2010-06-19 09:42 3074ActionScript中Http请求 因我是用MVC模式来 ... -
加载外部SWF文件
2010-05-22 15:43 1359加载外部SWF文件 package mytest.dt { ... -
AsWing+Java上传文件
2010-05-11 09:16 1748AsWing+Java上传文件 UI是用AsWing实现比较 ... -
A*最最基础的非常非常好的寻路教程!
2010-05-08 10:01 2007最最基础的非常非常好 ... -
JTable单元格偏移
2010-05-07 11:15 1357如果Frame中有个表格JTable,且允许双击单元格编辑,那 ... -
ActionScript中日期正则表达式
2010-04-27 18:24 1270这里是判断YYYY-MM-DD这种格式的,基本上把闰年和 ... -
AS中使用JSON
2010-04-26 09:15 2993要使用json作为数据交换格式。需引入corelib Acti ... -
invalidateDisplayList
2010-03-31 14:39 1913当多次改变控件的某些属性(如 高,宽,数据)后,调用该方法以便 ... -
自定义组件XPropertyTable
2010-03-13 12:56 1577这个是基于AsWing组件库实现的 主要是对JTable和P ...
相关推荐
第14章正则表达式与字符串匹配 299 14.1正则表达式概述 299 14.2正则表达式语法 300 14.2.1创建对象 300 14.2.2字符、元字符与元序列 301 14.2.3字符集 306 14.2.4组 307 14.3标记、属性与方法 310 14.3.1正则表达式...
基本加密包括名称、类名及名称空间加密,特殊加密解密为指定的名称,加密后解密的名称出现在两个SWF和XML文件,强化加密为字符串强化加密,支持加壳加密,使用actionscript仅加密SWF文件,使用加壳方式加密在操作...
使用单位解析和格式化字符串。 有效条目的示例(所有单位为米/秒平方): m*s-2 m/s² m·s-² m*s**-2 m^+1 s^-2 去做 数量 经济学 地理 数学 物理 安装 $ mvn clean install 用法 import measure.Measure ...
强大的荧光笔基于状态,正则表达式和纯文本字符串。模式可以相互引用,因此HTML模式具有全功能的CSS和javascript部分。 语法样式 这些模式引用样式的语义层次结构,可以对其进行自定义以匹配您的首选项。 自动...
如果X为一字符串,则函数将X解释为一个指数形式的十进制数; D. 如果X未定义,则返回0。 41.按钮的属性有那些? A. 按钮的属性有UP; B. 按钮的属性有UP和OVER; C. 按钮的属性有DOWN; D. 按钮的属性有HIT. ...
使用查询字符串传递数据给模块 22.12节.使用连接报告优化模块 第二十三章.Adobe Integrated Runtime API(694) 23.1节.借助FlexFramework创建一个AIR程序 23.2节.理解AIR命令行工具 23.3节.打开和管理本地窗体 23.4节...
提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java...
提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java...
提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java...
提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java...
提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java...
提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java...
提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java...
提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java...
提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java...
提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java...
提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java...
提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java...
提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java...
设定字符串为“张三,你好,我是李四” 产生张三的密钥对(keyPairZhang) 张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节 通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...