ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript で文字列が特定の文字で終わるかどうかを確認するにはどうすればよいですか?

JavaScript で文字列が特定の文字で終わるかどうかを確認するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-22 05:31:16809ブラウズ

How Can I Check if a String Ends with a Specific Character in JavaScript?

JavaScript は EndsWith メソッドをサポートしていますか?

JavaScript では、文字列が特定の文字で終わるかどうかをさまざまな方法で判断できます。専用の endWith() メソッドは以前のバージョンではネイティブに使用できませんでしたが、最新のブラウザと ES6 ではこの機能が提供されています。は、指定されたサフィックスについて文字列の末尾を直接チェックする endWith() メソッドを導入しました。その構文は次のとおりです。

自動設定 endWith() 関数

ES6 より前では、開発者はカスタム関数を使用して endWith() をエミュレートしていました。提供された回答で概説されているように、最も効率的なアプローチは次のとおりです:
string.endsWith(suffix, length)

この関数は次のように動作します:

indexOf() の 2 番目のパラメーターを使用して不要な比較をスキップします

String.prototype.endsWith = function(suffix) {
    return this.indexOf(suffix, this.length - suffix.length) !== -1;
};
Internet Explorer でのシームレスな使用を許可します

正規表現の回避複雑さ
  • スタンドアロン endWith() 関数
  • ネイティブ プロトタイプの変更が望ましくない場合は、スタンドアロン関数を使用できます:

ネイティブをチェックしています実装

ネイティブの endWith() を持たないブラウザとの互換性を確保するには、カスタム関数を定義する前に簡単なチェックを行うことをお勧めします。
function endsWith(str, suffix) {
    return str.indexOf(suffix, str.length - suffix.length) !== -1;
}

結論:

JavaScript のバージョンとブラウザの互換性要件に応じて、ネイティブの endWith() を使用するかどうかを選択します。メソッドやカスタム実装は異なります。最新のブラウザーと ES6 サポートの場合、ネイティブの endWith() は簡単で効率的なソリューションを提供します。
if (typeof String.prototype.endsWith !== 'function') {
    String.prototype.endsWith = function(suffix) {
        return this.indexOf(suffix, this.length - suffix.length) !== -1;
    };
}

以上がJavaScript で文字列が特定の文字で終わるかどうかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。