2016-08-18 5 views
-3

내가이 문자열이 포함 된 경우 어떻게 감지하기 : 나는 문자열이 실제로 색상을 포함하거나하지 않을 경우 감지 할 수있는 방법이 있는지 알고 싶습니다문자열이 16 진수 색상 코드

3EFF3E[ADMIN] 99FF99User1 : test 

합니다. 색깔은 어디에도있을 수 있습니다. 문자열이 연속 6 16 진수가 포함되어있는 경우 그냥 찾으려면

+1

질문을 업데이트하여 문제가 무엇인지에 대한 설명과 함께 이미 시도한 코드를 포함하십시오. – Archer

답변

2

, 당신은이 부울 값을 반환합니다 RegExp#test()

/[0-9A-F]{6}/i.test(str); 

를 사용할 수 있습니다.


실제로 색상이, 간단한 방법은 기능, String#replace()를 사용하는 것입니다 무엇을 찾으려면 :

var str = '3EFF3E[ADMIN] 99FF99User1 : test'; 
 
var colors = []; 
 

 
str.replace(/[0-9A-F]{6}/gi, function(color) { 
 
    colors.push(color); 
 
}); 
 

 
console.log(colors);

또는 당신이에 RegExp#exec() 더 전통을 사용할 수 있습니다 루프 :

var str = '3EFF3E[ADMIN] 99FF99User1 : test'; 
 
var colors = []; 
 

 
var match, colorReg = /[0-9A-F]{6}/gi; 
 
while ((match = colorReg.exec(str)) !== null) { 
 
    colors.push(match[0]); 
 
} 
 

 
console.log(colors);

관련 문제