태그 보관물: Regular Expression

숫자에 1000단위 콤마 넣기

구글해서 찾은 소스입니다. 정규식도 제대로 공부를 해야 할 듯…

/**
 * 통화 형식 만들기
 * @param {Number} 가격
 */
function convertCurrency(n){
	n = "" + n;
	if( /\d{3}\d+/.test(n) ){
		return convertCurrency(n.replace(/(\d{3}?)(,|$)/, ',$&'));
	}
	return n;
}

여러 개의 문자열 치환하기

여러 개의 문자열을 치환하는 코드입니다.

1
2
3
4
5
6
7
var replaceMap = {"&amp;":"&", "&lt;":"<", "&gt;":">", "&quot;":"\"", "&#39;":"'"};
var repRegExp = new RegExp(Object.keys(replaceMap).join("|"), "gi");
function replaceFunc(str){
	return replaceMap[str];
}
 
str = str.replace(repRegExp, replaceFunc);

플래시 플레이어 버전 체크

오랜만에 플래시 관련 포스팅이네요.
동영상 플레이어를 만들면서 테스트 하다가 일부 컴퓨터에서 특정 이벤트가 발생하지 않는 문제를 발견했습니다. 동영상을 일시정지/재생을 반복할 때 NetStatusEvent.info.code에서 NetStream.Pause.NotifyNetStream.Unpause.Notify가 발생하지 않기 때문에, 일시정지/재생 상태를 파악하지 못한는 문제가 생기네요. 그래서 버전 정보로 분기하기 위해 검색하다 다음 코드를 찾았습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
var versionString:String = Capabilities.version;
var pattern:RegExp = /^(\w*) (\d*),(\d*),(\d*),(\d*)$/;
var result:Object = pattern.exec(versionString);
if (result != null){
	trace("input: " + result.input);
	trace("platform: " + result[1]);
	trace("majorVersion: " + result[2]);
	trace("minorVersion: " + result[3]);
	trace("buildNumber: " + result[4]);
	trace("internalBuildNumber: " + result[5]);
}else{
	trace("Unable to match RegExp.");
}

참고 URL
Using the Capabilities class
ActionScript 3.0 Reference: Capabilities