0

i am trying to heck if a string (first argument, str) ends with the given target string (second argument, target). function confirmEnding(str, target) { return /target$/.test(str) } Test stringconfirmEnding("Bastian","n") show false. What i am doing wrong? Can i use regular expression as argument of function? ;

  • Does this answer your question? [endsWith in JavaScript](https://stackoverflow.com/questions/280634/endswith-in-javascript) Also relevant: [How do you use a variable in a regular expression?](https://stackoverflow.com/questions/494035/how-do-you-use-a-variable-in-a-regular-expression) – DBS Jul 01 '22 at 14:49

1 Answers1

2

If it's always a string, then you can just use String#endsWith

function checkEnd(str, target) {
  return str.endsWith(target);
}

console.log(checkEnd("Bastion", "n"));

If you want to cast target into a regex, but note that this won't escape out any of the special characters in target. i.e. checkEnd('special)',')') will fail due to the regex being invalid:

function checkEnd(str, target) {
  return new RegExp(`${target}$`).test(str);
}

console.log(checkEnd("Bastion", "n"));
Zachary Haber
  • 10,376
  • 1
  • 17
  • 31