adyen-magento2
adyen-magento2 copied to clipboard
[PW-6651] RegExp: Named capture groups not supported on older devices
https://github.com/Adyen/adyen-magento2/blob/d0683413eebcbcbc6984959cdf6da3f60ece1c4b/view/frontend/web/js/view/payment/method-renderer/adyen-hpp-method.js#L597
broken compatibility with older devices. https://caniuse.com/mdn-javascript_builtins_regexp_named_capture_groups

Hi @eliseyvrublevskiy,
Thank you for opening this issue. Currently, we offer support for the latest browsers. However, we do aspire to also support some older browsers and will be looking into this.
Cheers, Titus
` ... function getStreetAndHouseNumberWithRegex(addressString) {
let houseNumber = 'N/A';
let streetName = addressString;
try {
// Match addresses where the street name comes first, e.g. John-Paul's Ave. 1 B
let streetFirstRegex = /([a-zA-Z0-9.'\- ]+)\s+(\d{1,10}((\s)?\w{1,3})?)$/;
let streetFirstAddress = addressString.match(streetFirstRegex);
if (streetFirstAddress) {
streetName = streetFirstAddress[1];
houseNumber = streetFirstAddress[2];
} else {
// Match addresses where the house number comes first, e.g. 10 D John-Paul's Ave.
let numberFirstRegex = /^(\d{1,10}((\s)?\w{1,3})?)\s+([a-zA-Z0-9.'\- ]+)/;
let numberFirstAddress = addressString.match(numberFirstRegex);
if (numberFirstAddress) {
streetName = streetFirstAddress[2];
houseNumber = streetFirstAddress[1];
}
}
} catch (e) {
//nothing
}
return {
streetName: streetName,
houseNumber: houseNumber
};
}
...
`
Hi @eliseyvrublevskiy,
Unfortunately it seems that most of the browsers that do not support this regex functionality have been deprecated (shown below). Hence, this change is not something that we will be looking into.
If however this is important to you, feel free to open a pull request which we will then review.
IE11: 2022-06-15
Edge 18: 2020-05-27
Firefox 78: 2020-06-30
Chrome 63: 2018-01-24
Thanks, Jean Adyen