2013-11-04 3 views
0

나는 당신의 도움이 필요합니다.정규식을 사용하여 값 줄이기

아래에있는 기능에는 여러 개의 일치 항목이 포함되어 있으므로이 예에서는 상당히 단축했습니다. 여기에있는 Regex 사람들을위한 제 질문은 특정 Regex를 사용하여 일치 목록을 단축하는 방법이 있습니까? 여기

BRIEFING NOTE TO BOSS1 
BRIEFING NOTE TO BOSS2 
BRIEFING NOTE TO BOSS3 
KEY MESSAGES 
MEDIA ADVISORY 
MEDIA CALL 

자바 스크립트입니다 :

function shorten_name(val) 
    if (val.match("BRIEFING")) { return "BN" } 
    else if (val.match("KEY MESSAGES")) { return "KM" } 
    else if (val.match("MEDIA ADVISORY")) { return "MA" } 
    else if (val.match("MEDIA CALL")) { return "MC" } 
} 
+0

원하는 출력은 무엇입니까

다음 함수가 아래를 확인하는 것이 어떤 경기입니까? 'BN TO BOSS1', BN TO BOSS2' 등과 같은 것? –

+0

이제 2 가지 문제가 있습니다. – Gabriel

답변

1
function (str){ 
    var map = { 
     "BRIEFING": "BN", 
     "KEY MESSAGES": "KM", 
     "MEDIA ADVISORY": "MA", 
     "MEDIA CALL": "MC" 
    }; 

    for (key in map){ 
     if (map.hasOwnProperty(key)){ 
      str = str.replace(new RegExp(key, 'g'), map[key]); 
     } 
    } 

    return str; 
} 

http://jsfiddle.net/ZqX6T/

관련 문제