teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

文章で伝わりにくい箇所があったため、修正

2016/04/22 19:19

投稿

sounisi5011
sounisi5011

スコア697

answer CHANGED
@@ -1,5 +1,5 @@
1
1
  `match`は[正規表現](https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions)で検索をおこなうので、検索対象の文字列に対して[適切なエスケープ処理](http://kihon-no-ki.com/javascript-function-like-preg_quote-to-replace-special-characters)を行わないと正しく検索できません。
2
- 例えば`.`で検索すると、全ての文字1字に一致する正規表現となるため、`.`という文字が含まれていなくても「含まれている」と判定されてしまいます。
2
+ 例えば`.`で検索すると、あらゆる種類の文字1字に一致する意味の正規表現となるため、`.`という文字そのものが含まれていなくても「含まれている」と判定されてしまいます。
3
3
  代わりに、`indexOf`を利用しましょう。
4
4
 
5
5
  ```JavaScript

2

文章内にリンクを追加

2016/04/22 19:19

投稿

sounisi5011
sounisi5011

スコア697

answer CHANGED
@@ -1,4 +1,4 @@
1
- `match`は正規表現で検索をおこなうので、検索対象の文字列に対して適切なエスケープ処理を行わないと正しく検索できません。
1
+ `match`は[正規表現](https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions)で検索をおこなうので、検索対象の文字列に対して[適切なエスケープ処理](http://kihon-no-ki.com/javascript-function-like-preg_quote-to-replace-special-characters)を行わないと正しく検索できません。
2
2
  例えば`.`で検索すると、全ての文字1字に一致する正規表現となるため、`.`という文字が含まれていなくても「含まれている」と判定されてしまいます。
3
3
  代わりに、`indexOf`を利用しましょう。
4
4
 

1

参考ページへのリンクを追加

2016/04/22 19:15

投稿

sounisi5011
sounisi5011

スコア697

answer CHANGED
@@ -9,4 +9,8 @@
9
9
  } else {
10
10
  alert("含まれていない");
11
11
  }
12
- ```
12
+ ```
13
+
14
+ * [【JavaScript】~を含むかのチェック - Qiita](http://qiita.com/kazu56/items/557740f398e82fc881df)
15
+ * [String.prototype.match() - JavaScript | MDN](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/match)
16
+ * [String.prototype.indexOf() - JavaScript | MDN](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf)