[解決済み] 文字列が部分文字列を含んでいるかどうかを確認するにはどうすればよいですか?重複
2022-03-21 20:04:29
質問
ショッピングカートで商品の選択肢をドロップダウンメニューで表示し、ユーザーが "yes"を選択すると、ページ上の他のフィールドを表示するようにしたいのですが、どうすればよいでしょうか。
問題は、ショッピングカートのテキストに価格の修飾語も含まれており、それが商品ごとに異なる場合があることです。以下のコードは動作します。
$(document).ready(function() {
$('select[id="Engraving"]').change(function() {
var str = $('select[id="Engraving"] option:selected').text();
if (str == "Yes (+ $6.95)") {
$('.engraving').show();
} else {
$('.engraving').hide();
}
});
});
しかし、私はむしろこのようなものを使いたいのですが、うまくいきません。
$(document).ready(function() {
$('select[id="Engraving"]').change(function() {
var str = $('select[id="Engraving"] option:selected').text();
if (str *= "Yes") {
$('.engraving').show();
} else {
$('.engraving').hide();
}
});
});
選択されたオプションに "Yes" という単語が含まれている場合にのみアクションを実行し、価格修飾子は無視したいのです。
解決方法は?
このように。
if (str.indexOf("Yes") >= 0)
...または、チルダ演算子を使うこともできます。
if (~str.indexOf("Yes"))
これは、次のように動作します。
indexOf()
は
-1
は、文字列が全く見つからなかった場合。
大文字と小文字を区別することに注意してください。
大文字小文字を区別しない検索をしたい場合は、次のように書きます。
if (str.toLowerCase().indexOf("yes") >= 0)
または
if (/yes/i.test(str))
後者は 正規表現 または レジェックス .
Regexの内訳です。
-
/
は正規表現であることを示します。 -
yes
は、正規表現がこれらの文字を正確な順序で見つけることを意味します。 -
/
は正規表現を終了します。 -
i
は正規表現を case- に設定します。 で センシティブ -
.test(str)
は、正規表現にマッチするかどうかを判断します。str
要約すると、次の文字が見つかるかどうかということです。y
,e
およびs
の順番で、大文字小文字を区別せずに、変数str
関連
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] ある文字列が特定の単語を含んでいるかどうかを確認するにはどうすればよいですか?
-
[解決済み] Pythonで文字列の部分文字列を取得するにはどうすればよいですか?
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】大文字・小文字を区別しない「Contains(string)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
vue3レスポンシブ対応のためのsetup+ref+reactive
-
元のイベントが実行されなかった後に要素を追加するためのjQueryソリューション
-
vueディレクティブv-bindの使用と注意点
-
Vueの一般的な組み込みディレクティブの説明
-
nodejs unhandledPromiseRejectionWarning メッセージ
-
JSクリックイベント - Uncaught TypeError: プロパティ 'onclick' に null を設定できません。
-
モジュールのビルドに失敗しました。Error: ENOENT: no such file or directory, scandir 'D:\.... \node_modules
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] JavaScriptで文字列に特定の文字が含まれているかどうかを判断するには?
-
[解決済み】indexOf()とsearch()の違いは何ですか?)