1. 程式人生 > >正則表示式中如何新增變數

正則表示式中如何新增變數

如果給義一個字串或是陣列加入變數,是非常簡單的事情,但是我們不能用這種常規思維來給正則表示式加入變數,比如

var param = 3;
var reg = "/^[0-9]+"+param+"[a-z]+$/";var reg = /^[0-9]+"+param+"[a-z]+$/;var reg = /^[0-9]+$/+param+/^[a-z]+$/;

首先不考慮準確性,這寫法就怎麼看怎麼彆扭,無論怎麼寫,都會被當作正則的一部分來處理。
這個時候 建構函式 出場,既然已經定義好的表示式不能加,那就在構造表示式的時候新增總行了吧,如下:

var param = 3;
var
reg = new RegExp("^[0-9]+"+param+"[a-z]+$","g");//得到:/^[0-9]+3[a-z]+$/

第二個引數根據具體情況新增,如"g"全域性檢索,可有可無。
完美解決 ~