- 浏览: 346265 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
lliiqiang:
在功能上,由于flex不支持加载外来的类的反射机制,所以可以通 ...
Flex Module专题 -
迪伦少校:
工程报错呢?。。
关于DEGRAFA的简介 -
chwnchwn:
不错的东西
关于DEGRAFA的简介 -
lorry1113:
学习了,多谢!!!!
重写FLEX组件 -
cuixuxucui:
var str:String = "";v ...
AS3 Array学习笔记
参考http://www.discuz.net/thread-407264-1-1.html
一、如何选择字符集:
1.如果你所在地区是大陆实用简体字的地方,且不打算考虑外国朋友的浏览要求,可以考虑实用GBK编码。
2.如果有对外(国)的需要,或者英文比较多的论坛,或者论坛中可能会有相当大部分的英文字符(比如经常交流代码的),可以选择UTF-8编码:UTF-8编码的文字可以在各国各种支持UTF8字符集的浏览器上显示。比如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,而无需他们下载IE的中文语言支持包。使用GBK则每个字符占用2个字节,而使用UTF-8英文却只占一个字节。通用性较强。但是相对来说比GBK占用空间大。
3.如果身边环境为繁体字语言(或者电脑的使用习惯,操作平台),那就选择BIG5编码好了。
二、一个实际应用的例子:
要求:创建角色昵称文本框,后端使用utf-8存储。我们希望限制输入字符数,中文6个,英文字符18个。
方式1.使用maxChars属性
txt_name.maxChars = 6;
这样中文最多输入六个,英文也是最多六个字符。
方式2.使用字符集长度判断
StringUtil.as:
/**
* 根据制定字符集获取字符串的实际字符数
* @param str
* @param charSet 指定计算的编码方式。默认gb2312编码,一个汉字算2个字符,如果是utf-8编码,则一个汉字算3个字符
* @return
*/
static public function getStringCharLength(str:String, charSet:String = "gb2312"):uint
{
var bytes:ByteArray = new ByteArray();
bytes.writeMultiByte(str, charSet);
return bytes.length;
}
剩下的事情就是使用文本框TextField的两个事件:Event.CHANGE 和TextEvent.TEXT_INPUT,区别如下:
在文本框中输入文本时要执行一系统运行,这些运行依次为:触发TEXT_INPUT事件--显示输入的内容--触发CHANGE事件。
TEXT_INPUT事件对象有一个属性text,其中包含了事件发生时输入到文本框中的字符或字符序列。注意text属性中的内容只包括当前事件发生时输入的字符,不同于文本框对象的text属性。比如先输入a,那么event.text = a。继续输入b,那么event.text = b,而不是ab。
Event.CHANGE 和TextEvent.TEXT_INPUT 都是用户修改值调度,两者的主要区别是一前一后, Event.CHANGE 是在文本被改变之后调度,TextEvent.TEXT_INPUT是在文本将要加入前调度。另外,删除已经输入的字符会触发Event.CHANGE,但不会触发TextEvent.TEXT_INPUT。
在文本键入前拦截有很多好处,比如我们希望文本框只能输入数字和字母,当用户键入非法字符时给予警告或提示,当然你可以使用正则,使用restrict属性来限定,可是这样提示信息就会很难处理。
txt.addEventListener(TextEvent.TEXT_INPUT,inputHandler)
function inputHandler(event:TextEvent){
var reg:RegExp=/[^0-9A-Za-z]/g
if(reg.test(event.text)){
event.preventDefault()
trace("非法字符:"+ event.text)
}
}
比如打字练习软件,不允许使用粘贴,只需要象下面这样,无论右键的粘贴,还是Ctrl+V,都可以有效拦截.(指的是大量的文本的粘贴)其它功能还有很多...
txt.addEventListener(TextEvent.TEXT_INPUT,inputHandler)
function inputHandler(event:TextEvent){
if(event.text.length>1)//如果练习的是中文4-8就差不多了
event.preventDefault()
}
现在看我们自己的需求实现:
txt_name.addEventListener(TextEvent.TEXT_INPUT,onTextInput);
private function onTextInput(event:TextEvent):void
{
if(StringTool.getStringCharLength(txt_name.text) > 18){
event.preventDefault();
}
}
结果:汉字是六个,但英文却可以输入19个。侦听事件发现,在第一次输入英文字符时,虽然触发了TextEvent.TEXT_INPUT事件,但txt_name.text仍然为空,理由在上面解释得清楚,TextEvent.TEXT_INPUT是在文本将要加入前调度的,这时txt_name.text还取不到。那么将判断条件改成>= 18会如何呢,结果是英文可以输入18个,但汉字的第六个却无法输入。这真是个奇怪的问题,目前猜测是由汉字输入法造成的。最后的修正办法是使用Event.CHANGE处理的
maxChars = 18;
txt_name.addEventListener(Event.CHANGE, inputHandler);
private function inputHandler(evt:Event):void
{
var newStr:String = txt_input.text;
if (StringTool.getStringCharLength(newStr) > maxChars){
while (StringTool.getStringCharLength(newStr) > maxChars){
newStr = newStr.substring(0, newStr.length - 1);
}
txt_input.text = newStr;
}
}
发表评论
-
白名单屏蔽字 unicode字符范围
2016-07-05 16:58 794(_word.unicode >= 0x2001 ... -
flash textfiled换行 以及\r和\n区别
2016-06-20 15:11 1873flash.text.TextField.wordWrap ... -
flash 字体
2016-05-20 17:35 6931.FTE和TLF的关系 http://zengr ... -
Flex Date对象与UTC之间的关系
2013-08-07 14:16 2340转自 Flex Date对象与UTC ... -
as3 数据结构array,object,dictionary用哪个
2011-12-29 16:43 4382今天在处理背包物品时,考虑是用Array还是dictionar ... -
CS5 中禁用SimpleButton
2011-12-09 11:48 1878需要在CS5中对一个SimpleButton设置禁用效果,即不 ... -
Event.FRAME_CONSTRUCTED
2011-12-07 19:07 2102_oPBox是个MovieClip,共3帧,其中第1帧有 ... -
使用拼接的属性来访问Object
2011-11-28 15:58 10491.VO:Objectt有这些属性: public ... -
ShareObject简记
2011-10-25 18:58 1020引用: _soundSO = Shared ... -
字符集学习笔记(一)
2011-10-20 17:17 1518摘自http://bbs.9ria.co ... -
使用AS3帧代码控制动画
2011-10-17 14:26 3920美术同事出了一个资源,大致是这样的:四个角色形象动画,聚在一个 ... -
flash cs将一个MC变成BUTTON
2011-09-15 16:50 1788在FLASH CS中,设置一个MC的三帧名字分别为 ... -
flash中的in关键字
2011-09-08 18:10 1290in这个关键字挺有意思的: package { ... -
VerifyError: Error #1024: 发生堆栈下溢
2011-08-26 16:14 4562今天出现了奇怪的问题,RELEASE版本的背包操作总是报Ver ... -
TextField的高宽autosize
2011-08-17 14:25 3354var t_name:TextField = new Text ... -
FLASH注册点与中心点(转)
2011-08-16 10:23 4774http://space.flash8.net/space/? ... -
flashbuilder不同版本共用工作空间的问题
2011-08-02 13:36 2417今天因为项目需要,安装了FB4.5,当然原来的FB4.0没舍得 ... -
flashplayer内存管理
2011-07-29 11:18 4381参考Flash务实主义(五)——AS3的垃圾回收 ... -
从SVN上的FD项目上,构建FB项目
2011-07-28 15:18 3641说一下概况: 项目是一个FD(FlashDevelop ... -
Flash应用程序域学习笔记
2011-07-21 17:24 1668在上一篇博客中,简记了关于安全域的学习笔记。本篇继 ...
相关推荐
3.4 字符串类型-str 4、Python中的常见运算符 4.1 算术运算符 4.2 关系运算符 4.3 逻辑运算符 4.4 位运算符 4.5 成员运算符 4.6 身份运算符 5、Python中的分支结构 5.1 单向分支-if语句 5.2 双向分支-if ...
第二篇介绍.NET与C#核心技术,主要内容包括.NET框架,C#.NET命名空间和程序集,字符处理,组件和部署;第三篇主要介绍Windows窗体程序,主要包括Windows窗体,WinForms高级控件,菜单和对话框,GDI+的应用和网络...
Go 学习笔记, 第 4 版 4.4 Struct 47 第 5 章 ⽅法 53 5.1 ⽅法定义 53 5.2 匿名字段 54 5.3 ⽅法集 56 5.4 表达式 56 第 6 章 接⼝ 60 6.1 接⼝定义 60 6.2 执⾏机制 62 6.3 接⼝转换 63 6.4 接⼝技巧 65 第 7 章 ...
Go 学习笔记, 第 4 版 4 4.4 Struct 47 第 5 章 ⽅方法 53 5.1 ⽅方法定义 53 5.2 匿名字段 54 5.3 ⽅方法集 56 5.4 表达式 56 第 6 章 接⼝口 60 6.1 接⼝口定义 60 6.2 执⾏行机制 62 6.3 接⼝口转换 63 6.4 接⼝...
Go 语言编程 + Go 学习笔记, 第 部分 语 第 1 章 类型 1.1 变量 1.2 常量 1.3 基本类型 1.4 引 类型 1.5 类型转换 1.6 字符串 1.7 指针 1.8 定义类型 第 2 章 表达式 2.1 保留字 2.2 运算符 2.3 初始化 2.4 控制流 ...
Unicode字符集(简称为UCS),国际标准组织于1984年4月成立ISO/IEC JTC1/SC2/WG2工作组,针对各国文字、符号进行统一性编码。1991年美国跨国公司成立Unicode Consortium,并于1991年10月与WG2达成协议,采用同一编码...
从零基础开始学习AI。python具有解释易学性特点,且有强大的科学计算工具,是现在数据分析和人工智能常用的工具语言之一。 笔记一:预期课之python的基本数据类型与字符串的运算使用。
2.动态加载类别文档、字符串池(String Pool)等特性为节省内存而设计 3.jdk java development kit java 开发工具集 java se 平台包括jdk与java语言 ,(不知道编程语言是什么?可以这样想 :java 语言 ->类文件...
JAVA学习笔记第十四天——字符集编码解码、泛型的使用、数据结构栈和链表、集合框架&List,示例代码,里面主要是知识点的具体使用和各种现象。
介绍了html中代码格式和常用标签 #HTML格式 * `<!DOCTYPE html>`---------*注明文件使用格式* ... `<head>`--------*头部* `<meta charset=UTF-8>`-------*设置字符集,一般都为UTF-8*
答:string str = null 是不给他分配内存空间,而string str = \"\" 给它分配长度为空字符串的内存空间。 25.请详述在dotnet中类(class)与结构(struct)的异同? 答:Class可以被实例化,属于引用类型,是分配在内存的...
Go 学习笔记, 第 4 版 4 4.4 Struct 47 第 5 章 ⽅方法 53 5.1 ⽅方法定义 53 5.2 匿名字段 54 5.3 ⽅方法集 56 5.4 表达式 56 第 6 章 接⼝口 60 6.1 接⼝口定义 60 6.2 执⾏行机制 62 6.3 接⼝口转换 63 6.4 接⼝...
c#学习笔记(1) 51099在线学习网发布 文章来源:网络收集 发布时间:2006-05-25 字体: [大 中 小] 51099在线学习网 http://www.51099.com 1, 结构(struct) 与 类(class) [attributes] [modifiers] struct ...
超文本标记语言,一个网页在不同的地方使用不同的标签去标记 ...CSS :层叠样式;决定这个网页好不好看(颜色、大小、尺寸) ...比如字符集(有 utf-8) ,标题 title <body>:是文档的主体,需要呈现的内容
1、在php文件中如果调用另一个php文件 2、php页面跳转的方法 3、PHP的异常处理 4、this,self,parent三个关键字之间的区别 5、Php与oracle数据库 6、环境变量设置 9、字符集转换
字符集 charset=""(GBK/UTF-8) <title>网页名称</title> <base target=""/>统一指定网页中所有的a标签网页打开方式 _self当前页面转变,_blank在新页面打开 --> <!-- 1.规定文字样式...
因为不同用户的数据终端可能采取的字符集是不同的,两者需要进行通信,必须要在一定的标准上进行。一个很形象地比喻就是我们的语言,我们大天朝地广人多,地方性语言也非常丰富,而且方言之间差距巨大。A地区的方言...
8. POSIX字符集 9. 匹配操作符(~) 10. 比较表达式 11. 范围模板 12. 一个验证passwd文件有效性的例子 13. 几个实例 14. awk编程 14.1. 变量 14.2. BEGIN模块 14.3. END模块 14.4. 重定向和管道 14.5. ...
破解三种方法: 1.字符串查找 2.调用栈,运行程序,然后暂停,按下alt+k 3.用exe分析器,查找对话框的值,然后在OD里查找push 0x* (18,19) 实用技巧 1.内嵌补丁(堆栈不平衡时,可借助插件 17) ...3.看第19集笔记