Если вы собираетесь использовать регулярное выражение, основанное на текущей строке, вам придется экранировать все символы, которые имеют особое значение в регулярном выражении, поэтому не только вопросительные знаки, но и все остальное, что вы видите здесь .
Я думаю, было бы гораздо проще использовать .lastIndexOf()
:
String.prototype.EndsWith = function(str){
return (this.lastIndexOf(str) === this.length - str.length);
}