ホームページ  >  記事  >  ウェブフロントエンド  >  文字列に substring_javascript スキルが含まれているかどうかを判断する js メソッド

文字列に substring_javascript スキルが含まれているかどうかを判断する js メソッド

WBOY
WBOYオリジナル
2016-05-16 16:17:551253ブラウズ

この記事の例では、js が文字列に部分文字列が含まれているかどうかを判断する方法を説明します。皆さんの参考に共有してください。詳細は以下の通りです。

日常のフロントエンド開発では、文字列に特定の部分文字列が含まれているかどうかを判断するという問題によく遭遇します。ここでは、この要件を解決し、それらを正しく使用するためのいくつかの方法を検討します。理想的には、私たちが探しているのは、目的に一致し (x に y が含まれている場合)、true または false を返すメソッドです。

1. String.prototype.indexOf および String.prototype.lastIndexOf

これら 2 つのメソッドは、部分文字列が含まれている場合は 0 以上のインデックスを返し、それ以外の場合は -1 を返しますが、これは理想的な状況を満たしません。

コードをコピー コードは次のとおりです:
var str = "私のブログ名は Benjamin-Focus onfront-end です開発とユーザーエクスペリエンス"、
substr = "ベンジャミン";

関数 isContains(str, substr) {
戻り値 str.indexOf(substr) >= 0;
}

//本当
console.log(isContains(str, substr));

2. 文字列.prototype.search

String.prototype.searchメソッドを考えました。検索メソッドのパラメータは正規表現なのでindexOfと同じです。

コードをコピー コードは次のとおりです:
var str = "私のブログ名は Benjamin-Focus onfront-end です開発とユーザーエクスペリエンス"、
substr = "ベンジャミン";

関数 isContains(str, substr) {
新しい RegExp(substr).test(str);
を返します }

//本当
console.log(isContains(str, substr));

このメソッドは、indexOf メソッドよりも優れています。このメソッドは直接 true または false を返します。同時に、メソッド名のテストは、indexOf よりもセマンティックです。

3. String.prototype.contains

コードをコピーします コードは次のとおりです:
var str = "私のブログ名は Benjamin-Focus on ですフロントエンド開発とユーザーエクスペリエンス」、
substr = "ベンジャミン";

関数 isContains(str, substr) {
str.contains(substr);
を返します }

//本当
console.log(isContains(str, substr));

このメソッドは現在 Firefox でのみサポートされており、まだ ECMAScript 6 ドラフトにあります。この方法は、上記の理想的な状況を満たします。詳細についてはここをクリックしてください。 contains メソッドを使用する場合は、サードパーティ ライブラリ string.js を参照してください。ここをクリックして、このサイトから string.js をダウンロードしてください。ソースコードの実装:
コードをコピー コードは次のとおりです。
には次のものが含まれます: function(ss) {
this.s.indexOf(ss) >= 0;
を返す }、
他のメソッドも追加される予定です。 。 。
もちろん、パフォーマンスの問題に関しては、どの方法がより速いかはまだテストされていません。興味のある友人は自分で試してみるとよいでしょう。

この記事が皆様の JavaScript プログラミング設計に役立つことを願っています。

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