How to check if last character of a string is a digit/number in plain JavaScript?
function endsWithNumber(str){
return str.endsWith(); // HOW TO CHECK IF STRING ENDS WITH DIGIT/NUMBER ???
}
var str_1 = 'Pocahontas';
var str_2 = 'R2D2';
if (endsWithNumber(str_1)) {
console.log(str_1 + 'ends with a number');
} else {
console.log(str_1 + 'does NOT end with a number');
}
if (endsWithNumber(str_2)) {
console.log(str_2 + 'ends with a number');
} else {
console.log(str_2 + 'does NOT end with a number');
}
Also I would like to know what would be the most fastest way? I guess it may sound ridiculous :D but in my usecase I will need this method very often so I think it could make a difference.
You can use Conditional (ternary) operator with isNaN()
and String.prototype.slice():
function endsWithNumber(str){
str = str.trim();
if (!str) return 'Invalid input'; //return if input is empty
return isNaN(str.slice(-1)) ? 'does NOT end with a number' : 'ends with a number';
}
console.log(endsWithNumber('Pocahontas'));
console.log(endsWithNumber('R2D2'));
console.log(endsWithNumber(''));