LoginSignup
1
3

More than 1 year has passed since last update.

初心者でも出来るHTML,JavaScript入門7

Last updated at Posted at 2020-05-03

1.事前知識

事前知識として、上記リンクの内容が必要です。

2.「'(シングルクォート)」を含む文字列

「'(シングルクォート)」を含む文字列
<script type="text/javascript">
    //that's を変数に入れたいとき
    var str = 'that\'s';
</script>
  • that's」 のような「'(シングルクォート)」を含む文字列は、「'(シングルクォート)」の前に \ をつけることで表示できる。

3.文字列の検索

文字列の検索
<script type="text/javascript">
    //変数
    var str = 'Hello123';

    //文字列の検索 変数名(文字列).indexOf()
    var result = str.indexOf( 'l' );
</script>
  • 文字列の検索には、indexOf()を使う。
  • indexOf() は、第1引数に 検索したい文字 を指定し、文字列の先頭(0番目)から1文字ずつ検索をし、 最初に一致した位置(index番号) を数値で返す。
  • indexOf() の第2引数には、 検索開始位置 を指定する(省略可能)。

4.文字列の抽出

文字列の抽出
<script type="text/javascript">
    //変数
    var str = "a1ab12abc123abcd1234";

    //文字列の抽出(数値) 変数名.match(/\d{ 桁数以上 , 桁数以下 }/g);
    //文字列の抽出(文字) 変数名.match(/[ 開始文字列 - 終了文字列] /g);
    var result = str.match(/\d{2,4}/g);
    var result2 = str.match(/[A-z]/g);
</script>
記述法 意味
/ABC/ 「ABC」という文字列。
[] カッコ内の任意の1文字。
[ABC] A、B、Cのいずれか。
[A-z] アルファベット全て。        
[0-9] 半角数字全て。    
[0-9]  全角数字全て。          
[ぁ-ん] ひらがな全て。       
[ァ-ヴ]   カタカナ全て。  
. 何らかの1文字。          
* 直前の1文字を0回以上の繰り返し。
^ 行の先頭。
$ 行の末尾。
? 直前の文字が0または1個の場合。
\w 大文字小文字を含む英数字とアンダースコア
\d 0~9の数字。
\s タブ、改行、改ページ、スペース。
  • 文字列の抽出には、match() を使う。
  • match() は引数に 正規表現(検索条件) を指定し、文字列の先頭(0番目)から1文字ずつ検索をし、 条件と一致した文字または数値 を返す。
  • 正規表現 は、 上記の 記述法 を参考に作ることができる。

5.記述例

  • 文字列の検索
js1_3_1.html
<!DOCTYPE html>
<html>
    <head>
        <!-- 付加情報 -->

        <!-- タイトル -->
        <title>JavaScriptの説明</title>

        <!-- 文字コードの指定 -->
        <meta charset="utf-8" />
    </head>

    <body>
        <!-- コンテンツ -->

        <!-- インラインスクリプト -->
        <script type="text/javascript">
            //変数
            var str = 'Hello';
            
            //文字列の検索 変数名(文字列).indexOf()
            var result = str.indexOf( 'l' );

            //ドキュメントの出力を開始
            document.open();

            //ドキュメントに文字列を書き出す
            document.write(str);
            document.write('<br/>');
            document.write(result);
            document.write('<br/>');

            //ドキュメントの出力を終了
            document.close();
        </script>
    </body>
</html>
  • 文字列の抽出
js1_3_2.html
<!DOCTYPE html>
<html>
    <head>
        <!-- 付加情報 -->

        <!-- タイトル -->
        <title>JavaScriptの説明</title>

        <!-- 文字コードの指定 -->
        <meta charset="utf-8" />
    </head>

    <body>
        <!-- コンテンツ -->

        <!-- インラインスクリプト -->
        <script type="text/javascript">
            //変数
            var str = "a1ab12abc123abcd1234";

            //文字列の抽出(数値) 変数名.match(/\d{ 桁数以上 , 桁数以下 }/g);
            //文字列の抽出(文字) 変数名.match(/[ 開始文字列 - 終了文字列] /g);
            var result = str.match(/\d{2,4}/g);
            var result2 = str.match(/[A-z]/g);

            //ドキュメントの出力を開始
            document.open();

            //ドキュメントに文字列を書き出す
            document.write(str);
            document.write('<br/>');
            for(r in result){
                document.write(result[r]);
                document.write('<br/>');
            };
            document.write('<br/>');
            for(r in result2){
                document.write(result2[r]);
                document.write('<br/>');
            };

            //ドキュメントの出力を終了
            document.close();

        </script>
    </body>
</html>

中身の文をコピーして、文字コードは UTF-8 を指定し、ファイル名を js1_3_1.html , js1_3_2.html でデスクトップに保存するとブラウザではこうなります↓↓

  • js1_3_1.html(文字列の検索)
    js1_3_1.png

  • js1_3_2.html(文字列の抽出)
    js1_3_2.png

画像のようになれば成功です。

6.GitHub

GitHubにソースコードを公開しています。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3