구글해서 찾은 소스입니다. 정규식도 제대로 공부를 해야 할 듯…
/** * 통화 형식 만들기 * @param {Number} 가격 */ function convertCurrency(n){ n = "" + n; if( /\d{3}\d+/.test(n) ){ return convertCurrency(n.replace(/(\d{3}?)(,|$)/, ',$&')); } return n; } |
구글해서 찾은 소스입니다. 정규식도 제대로 공부를 해야 할 듯…
/** * 통화 형식 만들기 * @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 = {"&":"&", "<":"<", ">":">", """:"\"", "'":"'"}; 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.Notify
나 NetStream.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