- 浏览: 590168 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
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 1350转:http://www.lite3.cn/blog/?p= ... -
TextField没有buttonMode的方法..
2010-12-10 16:28 2347TextField没有buttonMode的方法..不过由于T ... -
ActionScript 处理html超级链接
2010-12-09 11:14 2163ActionScript 处理html超级链接 p ... -
通过代理传参数
2010-07-02 11:43 1492通过代理传参数 package com.xlands.uti ... -
ArrayUtils
2010-07-02 11:36 1557/* Copyright aswing.org, s ... -
将数组随机排序后返回
2010-06-30 16:40 1855将数组随机排序后返回 方法一 /** * ... -
AS类中跳转
2010-06-29 10:22 1838AS类中跳转 navigate ... -
Flash与Javascript交互时可用ExternalInterface类
2010-06-29 10:17 3681Flash与Javascript交互时可用ExternalIn ... -
转载:[as hack技术]垃圾回收机强制执行
2010-06-29 09:47 1467转载:[as hack技术]垃圾回收机强制执行 http:// ... -
Flash中所支持的Html标签
2010-06-24 17:21 1411Flash中所支持的Html标签 ... -
navigateToURL()
2010-06-22 15:27 2530navigateToURL() public fun ... -
ActionScript中Http请求
2010-06-19 09:42 3175ActionScript中Http请求 因我是用MVC模式来 ... -
加载外部SWF文件
2010-05-22 15:43 1409加载外部SWF文件 package mytest.dt { ... -
AsWing+Java上传文件
2010-05-11 09:16 1784AsWing+Java上传文件 UI是用AsWing实现比较 ... -
A*最最基础的非常非常好的寻路教程!
2010-05-08 10:01 2080最最基础的非常非常好 ... -
JTable单元格偏移
2010-05-07 11:15 1386如果Frame中有个表格JTable,且允许双击单元格编辑,那 ... -
ActionScript中日期正则表达式
2010-04-27 18:24 1309这里是判断YYYY-MM-DD这种格式的,基本上把闰年和 ... -
AS中使用JSON
2010-04-26 09:15 3027要使用json作为数据交换格式。需引入corelib Acti ... -
invalidateDisplayList
2010-03-31 14:39 1950当多次改变控件的某些属性(如 高,宽,数据)后,调用该方法以便 ... -
自定义组件XPropertyTable
2010-03-13 12:56 1648这个是基于AsWing组件库实现的 主要是对JTable和P ...
相关推荐
以下是一些关于ActionScript字符串操作的知识点,基于提供的文档内容: 1. **equalsIgnoreCase()**:这个静态函数用于比较两个字符串是否相等,但不考虑大小写。它通过将两个字符串都转换为小写然后进行比较来实现...
"as3-utils"就是一个这样的工具集合,它包含了对数组、颜色、Cookie和字符串等常用数据类型处理的实用方法。 在ActionScript 3 (AS3)中,数组操作是日常开发中的常见任务。`as3-utils` 提供了扩展的数组操作功能,...
- **正则表达式基础知识**:正则表达式是一种强大的文本匹配工具,用于模式匹配和字符串操作。 - **正则表达式语法**:详细解释了正则表达式的各种语法和符号,如`.`、`*`、`+`等。 - **对字符串使用正则表达式的...
在Flex编程中,字符串操作和比较是常见的任务。Flex是一个基于ActionScript的开源框架,主要用于构建富互联网应用程序(RIA)。在这里,我们将深入探讨如何在Flex中进行字符串比较和执行一些基本的字符串操作。 ...
首先,`ByteArray` 对象是AS3中处理二进制数据的基本工具,它可以用来读写各种数据类型,包括字符串。`writeMultiByte()` 方法是`ByteArray`的一个重要成员,它允许我们将字符串写入字节数组,指定的字符编码即为...
正则表达式也是处理字符串的一个重要工具,ActionScript 3.0提供了强大的正则表达式基础和语法支持,方便开发人员进行文本匹配和处理。 ActionScript 3.0还具有强大的事件处理功能。它不仅可以处理传统的事件,还...
ActionScript 3.0提供了一系列强大的工具来帮助开发者有效地管理和操作字符串。 - **字符串基础知识**:介绍了字符串的基本概念及其在AS3中的表示方式。 - **创建字符串**:通过不同的方法创建字符串,例如直接使用...
在ActionScript 3.0(AS3)中,正则表达式作为一种强大的文本处理工具被引入,它能够帮助开发者高效地进行字符串搜索、替换和解析等操作。正则表达式由多个部分组成,包括元字符、元序列、标志以及数量表达符,下面...
ActionScript提供了一系列方法来处理文本和字符串: - **文本输入**:允许用户通过键盘输入文本。 - **字符串操作**:包括字符串的连接、分割、替换等操作。 #### 十、动态文本 动态文本是在运行时可以更新的文本...
正则表达式是一种强大的文本匹配工具,在ActionScript 3.0中主要用于字符串搜索和替换。`RegExp`类提供了正则表达式的创建和使用方式。 **正则表达式语法** ActionScript 3.0支持标准的正则表达式语法,包括特殊...
在ActionScript 2.0中,变量和数据类型是基础,包括数值类型(如整型和浮点型)、字符串、布尔型,以及动态和弱类型特性。了解这些基础数据类型及其用法对于编写有效代码至关重要。此外,函数和方法的使用也是...
ActionScript支持多种数据类型,包括整型、浮点型、字符串、布尔型、数组和对象。变量声明可以显式或隐式进行,但建议显式声明以提高代码可读性和避免潜在错误。 #### 四、控制结构 ActionScript支持标准的控制流...
通过上述章节的知识点介绍,我们可以看到ActionScript 3.0提供了强大的工具集来处理日期和时间、字符串以及数组,这些基本数据类型和操作对于构建复杂的应用程序至关重要。掌握这些基本概念是成为一名合格的...
这对于学习和优化自己的代码非常有帮助,因为你可以看到如何高效地处理JSON字符串,转换成ActionScript的数据结构,以及反过来将数据序列化为JSON。 至于“工具”,这可能指的是这些库除了核心的解析功能外,还可能...
1. **基础语法**:介绍ActionScript的基本数据类型(如字符串、数字、布尔值)、变量、常量以及运算符的使用。同时,讲解流程控制语句,如条件语句(if...else)和循环结构(for、while)。 2. **面向对象编程**:...
- **功能**: 返回当前日期和时间的字符串表示形式。 - **示例**: ```as3 var currentDate:String = Date(); ``` 4. **decodeURI(uri:String):String** - **功能**: 将已编码的URI解码为字符串。 - **参数**...
文本是编程中常见的数据类型,包括数值、布尔值、字符串等。例如: ```actionscript var myArray:Array = ["apple", "banana", "cherry"]; ``` 此外,文本还可以用于创建复杂的表达式和数据结构。 总之,...
该函数有两个字符串类型的参数,分别对应于Flash ActionScript中`fscommand()`命令的两个参数。根据实际情况,可以选择使用其中一个参数或同时使用两个参数。 此外,VC会为该控件设置一个定时器,确保一旦Flash动画...
1. **基础语法**:包括变量、数据类型(如字符串、数值、布尔值、null和undefined)、运算符、流程控制(条件语句、循环结构)以及函数的使用。 2. **面向对象编程**:ActionScript 3.0完全支持面向对象编程,包括...