您可以構建正則表達式字符串,然後使用它來創建正則表達式對象,這非常簡單。下面是一個例子,雖然它是一個趕到下鍋一起所以你也許可以重構,使其更簡單和可讀性,但它的工作,因爲它是:
var start = 2015;
var text = '' + start;
var x = parseInt(start/10, 10);
var y = start % 10;
var regexString = '^(' + text.substring(0, 3) + '[' + y + '-9]|' + text.substring(0, 2) + (parseInt(text[2]) + 1) + '[0';
if(y > 0)
regexString += '-' + y;
regexString += '])';
console.log(regexString);
var regex = new RegExp(regexString);
var year = '2020';
var result = regex.test(year) ? true : false;
console.log(result);
Here is a working example
比較一年一個數字到年份(數字)的利益。或絃樂;與目前的時間接近的字符串比較也會起作用。 – Pointy
你可以舉一些例子,沒有得到你所說的 – user2931706
動態創建字符串,然後你可以使用字符串創建一個正則表達式對象。試試吧,應該很容易 – musefan