locutus
Version:
Locutus other languages' standard libraries to JavaScript for fun and educational purposes
19 lines (18 loc) • 867 B
JavaScript
export function rtrim(str, charlist) {
// discuss at: https://locutus.io/php/rtrim/
// parity verified: PHP 8.3
// original by: Kevin van Zonneveld (https://kvz.io)
// input by: Erkekjetter
// input by: rem
// improved by: Kevin van Zonneveld (https://kvz.io)
// bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)
// bugfixed by: Brett Zamir (https://brett-zamir.me)
// example 1: rtrim(' Kevin van Zonneveld ')
// returns 1: ' Kevin van Zonneveld'
if (typeof str === 'undefined') {
throw new Error('rtrim() expects at least 1 argument, 0 given');
}
charlist = !charlist ? ' \\s\u00A0' : (charlist + '').replace(/([[\]().?/*{}+$^:])/g, '\\$1');
const re = new RegExp('[' + charlist + ']+$', 'g');
return (str + '').replace(re, '');
}