Wie RegexMuster zu schaffen, die mit Variable verketten, so etwas wie dieses:JavaScript RegexMuster concatenate mit variabler
var test ="52";
var re = new RegExp("/\b"+test+"\b/");
alert('51,52,53'.match(re));
Dank
Wie RegexMuster zu schaffen, die mit Variable verketten, so etwas wie dieses:JavaScript RegexMuster concatenate mit variabler
var test ="52";
var re = new RegExp("/\b"+test+"\b/");
alert('51,52,53'.match(re));
Dank
var re = new RegExp("/\b"+test+"\b/");
\b
in einem String-Literal ist ein Backspace Charakter. Wenn eine Regex in einem Stringliteral setzen müssen Sie eine weitere Runde von Entkommen: (. Sie brauchen nicht auch die //
in diesem Zusammenhang)
var re = new RegExp("\\b"+test+"\\b");
können Sie
verwenden/(^|,)52(,|$)/.test('51,52,53')
aber ich schlage vor,
var list = '51,52,53';
function test2(list, test){
return !((","+list+",").indexOf(","+test+",") === -1)
}
alert(test2(list,52))
Der ‚neue‘ Betreiber zu verwenden ist nicht erforderlich, da pro http://bclary.com/2004/11/07/#a-15.10.3 – James
Es gibt viele Stellen, an denen die Konstruktorfunktion eines eingebauten Typs sowohl mit als auch ohne 'new' verwendet werden kann. Aus Gründen der Übereinstimmung mit anderen Objekten, bei denen dies nicht der Fall ist, und der Klarheit im Allgemeinen, würde ich jedoch immer "neu" verwenden. – bobince
Eine andere Möglichkeit ist die Verwendung von einfachen Anführungszeichen, damit Sie die Backslashes nicht umgehen müssen: 'new RegExp ('\ b' + test + '\ b');' – IQAndreas