锘??xml version="1.0" encoding="utf-8" standalone="yes"?>01.
//Copyright © 2009. Http://L4cd.Net All Rights Reserved.
02.
package
net.L4cd.display
03.
{
04.
import
flash.events.Event;
05.
import
flash.events.TextEvent;
06.
import
flash.text.TextField;
07.
import
flash.utils.ByteArray;
08.
09.
/**
10.
* 鎵╁睍TextField綾?涓枃浠?瀛楃闀垮害璁$畻
11.
*
12.
* @author L4cd.Net
13.
* @playerversion Flash player 9
14.
* @langversion 3.0
15.
* @version 2009-06-16
16.
*/
17.
public
class
TextFieldExt
extends
TextField
18.
{
19.
private
var
_maxChars:
int
= -
1
;
20.
public
function
TextFieldExt()
21.
{
22.
super
();
23.
24.
}
25.
override
public
function
get
maxChars():
int
26.
{
27.
return
_maxChars;
28.
}
29.
override
public
function
set
maxChars(value:
int
):
void
30.
{
31.
_maxChars = value;
32.
if
(maxChars<
0
)
33.
{
34.
removeEventListener(TextEvent.TEXT_INPUT,input);
35.
}
else
36.
{
37.
addEventListener(TextEvent.TEXT_INPUT,input);
38.
text = getTextByCharLength(text,maxChars);
39.
}
40.
}
41.
override
public
function
get
length():
int
42.
{
43.
return
getCharLength(text);
44.
}
45.
private
function
input(e:TextEvent):
void
46.
{
47.
//鎷︽埅騫墮樆姝extinput浜嬩歡,鎵嬪姩澶勭悊鍐呭杈撳叆
48.
var
textField:TextField = e.currentTarget
as
TextField;
49.
var
temp:
String
= getTextByCharLength(e.text,maxChars - getCharLength(text) + getCharLength(selectedText));
50.
var
index:
int
= selectionBeginIndex;
51.
replaceText(selectionBeginIndex,selectionEndIndex,temp);
52.
setSelection(index+temp.length,index+temp.length);
53.
dispatchEvent(
new
Event(Event.CHANGE,
true
));
54.
e.preventDefault();
55.
}
56.
/**
57.
* 鑾峰彇瀛楃闀垮害,涓涓腑鏂囩畻2闀垮害
58.
* @param txt
59.
* @return 榪斿洖闀垮害鍊?
60.
*/
61.
private
function
getCharLength(txt:
String
):
int
62.
{
63.
var
byte:ByteArray =
new
ByteArray();
64.
byte.writeMultiByte(txt,
"gb2312"
);
65.
byte.position =
0
;
66.
return
byte.bytesAvailable;
67.
}
68.
/**
69.
* 鎴彇鎸囧畾闀垮害鐨勬枃鏈唴瀹?涓涓腑鏂囩畻2闀垮害
70.
* @param txt 闇瑕佹埅鍙栫殑鏂囨湰
71.
* @param length 闇瑕佹埅鍙栫殑闀垮害
72.
* @return 鎴彇鍚庣殑鍐呭
73.
*/
74.
private
function
getTextByCharLength(txt:
String
,length:
int
):
String
75.
{
76.
if
(length<
1
)
return
""
;
77.
var
byte:ByteArray =
new
ByteArray();
78.
byte.writeMultiByte(txt,
"gb2312"
);
79.
byte.position =
0
;
80.
return
byte.readMultiByte(Math.min(length,byte.bytesAvailable),
"gb2312"
);
81.
}
82.
}
83.
}
璋冪敤鏂規硶鍜屾櫘閫歍extField鏃犲紓
1.
import
net.L4cd.display.TextFieldExt
2.
var
ext:TextFieldExt =
new
TextFieldExt();
3.
ext.maxChars =
15
;
4.
addChild(ext);
涓鑸殑杈撳叆,綺樿創絳夋搷浣滃潎娌¢棶棰?.
鐩存帴瀵箃ext榪涜璧嬪兼病鏈夎繘琛岄檺鍒?(鍘熸潵鐨凾extField涔熸病闄愬埗)..
濡傞渶闄愬埗~鍙互璋冪敤涓嬈axChars = maxChars鍗沖彲..
]]>
dayNames="[鏃?涓,浜?涓?鍥?浜?鍏璢" monthNames="[涓鏈?浜屾湀,涓夋湀,鍥涙湀,浜旀湀,鍏湀,涓冩湀,鍏湀,涔濇湀,鍗? 鍗佷竴鏈?鍗佷簩鏈圿" formatString="YYYY-MM-DD"/>
]]>
String鏄疉S涓枃鏈殑鍩虹.涓涓瓧絎︿覆鐢遍浂涓垨闆朵釜浠ヤ笂鐨勫瓧絎︾粍鎴?AS鏀寔Unicode鍜孉SCII涓ょ鏂囨湰緙栫爜鏍煎紡.String鍙互閫氳繃鐩存帴璧嬪煎拰new鍏抽敭瀛椾袱縐嶆柟寮忓垱寤?鐢卞崟寮曞彿鎴栧弻寮曞彿琛ㄧず,蹇呰鐨勬椂鍊欏簲浣跨敤杞箟瀛楃’/’.
length:int
榪斿洖璇tring鐨勯暱搴?
String(val:String): 鏋勯犲嚱鏁?鏂板緩涓涓猄tring.
charAt(index:Number=0):Number: 榪斿洖鍦ㄦ煇涓猧nidex鐨勫瓧絎?br />
charCodeAt(index:Number=0):Number 榪斿洖鏌愪釜index鐨勫瓧絎﹀搴旂殑Unicode瀛楃鐮?br />
concat(..args):Stirng: 榪炴帴涓や釜瀛楃涓?
fromCharCode(charCodes):String 灝嗘煇Unicode瀛楃鐮?strong style="color: black; background-color: #99ff99">杞崲涓篠tring
indexOf(): 浠庡乏鍚戝彸鎵懼埌鐨勭涓涓洰鏍囩殑index
lastIndexOf(): 浠庡乏鍚戝彸鏈鍚庝竴涓?#8230;涔熷氨鏄粠鍙沖悜宸︾涓涓?
localeCompare(): 鍒ゆ柇榪炰釜瀛楃涓叉槸鍚﹀畬鍏ㄧ浉鍚? 鑻ヨ繑鍥炲間負0,鍒欒〃紺虹浉鍚?鍏朵粬鍊艱〃紺轟笉鍚?br />
replace:鏇挎崲
search(): 浠庡乏鍚戝彸絎竴涓洰鏍囩殑index
slice(): 榪斿洖榪炰釜index涔嬮棿鐨凷tring
split(): 浣跨敤闂撮殧絎?灝哠tring鍒嗗壊涓哄涓猄tring,騫舵斁鍏ユ暟緇勪腑.
subStr(): 浠庢煇index寮濮嬪悜鍚庣殑鐗瑰畾鏁扮洰鍐呰繑鍥炵殑String
subString(): 綾諱技slice();
瀛楃涓插ぇ灝忓啓杞崲:flexstr.toLowerCase(); flexstr.toUpperCase();
鍏朵粬瀵硅薄杞崲涓篠tring.鍦ㄩ粯璁ゆ儏鍐典笅,鎵鏈夌殑AS瀵硅薄閮藉彲浠?strong style="color: black; background-color: #99ff99">杞崲涓篠tring綾誨瀷.姣忎竴涓被閮芥湁涓涓猼oString鏂規硶.
閫氳繃toString鍙互灝嗗璞?strong style="color: black; background-color: #99ff99">杞崲涓篠tring.