function Reg (item_decimal) {return ('^(ND|NK|-?([0-9]+' + (item_decimal > 0 ? ('(\\' + '.[0-9]' + '{1,' + item_decimal + '})?') : '')) + '))$'} const reg = new RegExp(Reg(2)); console.log(reg.test(2.222)) console.log(Reg(2)) // ^(ND|NK|-?([0-9]+(\.[0-9]{1,2})?)$ // var regexp = new RegExp( // `^(ND|NK|-?([0-9]+${m > 0 ? `(\\.[0-9]{1,${m}})?` : ''}))$` // ) function Role(item_decimal) {return 'Only ND/NK/number(up to ' + item_decimal + ' decimal places) is allowed'}