如何检查纯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' );
}





我也想知道最快的方法是什么?我认为这听起来很荒谬:D,但是在我的用例中,我经常需要使用这种方法,所以我认为这可能有所作为。

最佳答案

您可以将Conditional (ternary) operatorisNaN()String.prototype.slice()结合使用:



function endsWithNumber( str ){
  return isNaN(str.slice(-1)) ? 'does NOT end with a number' : 'ends with a number';
}

console.log(endsWithNumber('Pocahontas'));
console.log(endsWithNumber('R2D2'));

09-16 16:51