Кто-нибудь взглянет на мое регулярное выражение, пожалуйста?Я пытаюсь проверить группу regex
, но она слишком жадно совпадает.
/*Should match only 16 characters in total & must begin with BE and follow by 14 digits */
var re = /(?<iban>[/BE\B/(?={0-9})])/gm
let correctIban = 'BE71096123456769' // => should match
let badIbanOne = 'BE13466123456767590kd' // => should NOT match
let badIbanTwo = 'BE13466123456767590679080176' // => should NOT match
let badIbanThree = 'AZ71096123456769' // => should NOT match
console.log(re.test(correctIban)); // => true
console.log(re.test(badIbanOne)); // => false
console.log(re.test(badIbanTwo)); // => false
console.log(re.test(badIbanThree)); // => false
Редактировать
Спасибо за помощь людям.Вот код с синтаксисом захвата группы в ES2018
для тех, кто хочет знать: (?<iban>^BE\d{14}$)