2016-09-23 1 views
1

finde ich bin in diesem FormatText in Zeichenkette mit variabler

var text = '{"STATUS_NEW":"12345678","STATUS_OLD":"87654321","TEXT":"blahblah"}';

die Zeichenfolge immer diese Zeichenfolge zu analysieren, ich bin diesen Code verwenden:

var pattern = /"STATUS_NEW":"12345678"/; 
var exists = pattern.test(text); 
if(exists){console.log('ok');} 

Alle Arbeiten gut! Konsole hol mir "ok". Aber ich muss meine Var in 'Muster' einfügen. Ich versuchte dies:

var status = '12345678'; var pattern = /"STATUS_NEW":"/ + status + /"/; //not work! 

Ich habe versucht, ‚Status‘ ohne Anführungszeichen zu setzen, und es funktioniert nicht.

Antwort

0

Sie könnten RegExp mit einer Zeichenfolge verwenden, die Sie angeben.

var text = '{"STATUS_NEW":"12345678","STATUS_OLD":"87654321","TEXT":"blahblah"}', 
 
    status = '12345678', 
 
    pattern = new RegExp('"STATUS_NEW":"' + status + '"'), 
 
    exists = pattern.test(text); 
 

 
if (exists){ 
 
    console.log('ok'); 
 
}

0

Nach https://stackoverflow.com/a/185529/3711952 Sie haben, wie etwas zu tun:

var pattern = new RegExp("some regex segment" + /*comment here */ 
       segment_part + /* that was defined just now */ 
       "another segment"); 

Also in Ihrem Fall wird es sein:

var status = '12345678'; 
var pattern = new RegExp(/"STATUS_NEW":"/ + status + /"/);