html JavaScript プログラミング

文字数カウンタを作りました

2020年11月8日

文字数を数えるプログラムをJavaScriptで作ったので解説していきます

今回のプログラムはこちらから動かすことができます

 

では解説していきます

まずはソースコード

17行目まではデザインなので説明を省きます

18行目からのcheckWord関数についての説明をします

20行目はテキストエリアの中に貼り付けられたある文章を読み取って変数strに代入C

21行目は文章内の改行コードがあるかどうかの判定

コンピュータ上での改行にはCRとLF、CRLFのように表現が複数存在します

Windows系のOSではCR+LFが標準の改行コードとして使用されており、UNIX系のOSやMacOS XではLFが標準の改行コードとして使用されています

それぞれの正規表現は「\r\n」と「\n」なのでそれらの和集合を探索すればどちらのOSにも対応できます

バージョン9以前のMacOSではCRが標準の改行コードとして使用されていたらしく、それに対応したい場合はその正規表現「\r」も探索する必要があります

22行目は改行 空白(スペース) タブがあるかどうかの判定(空白だけではないのが面倒なポイント)

23行目は改行 空白(スペース) タブ以外の記号があるかどうかの判定、これが空白抜きの文字数になります

24-28行目は改行 空白(スペース) タブの総数を算出

29-33行目は改行コードの総数を算出

34行目でnospace_lenghに文字数を代入

35行目は (改行 空白(スペース) タブの総数) - (改行の数) でスペースの数を算出

36-38行目は矛盾をなくすための処理を記述してます

改行コードがなくてもline_numの初期値を1にしているため、1行目で空白が0のときは改行コードなしになります

35行目が0 - 1 = -1になってしまうので、それを防ぐためのものです

残りの部分はリセットボタンで初期化するための処理を記述しています、文字を上書きしているだけなので説明は省きます

 

質問や指摘等ありましたらコメントよろしくお願いします

以上です、最後までお読みいただきありがとうございました

-html, JavaScript, プログラミング

Copyright© 物を作る者 , 2024 All Rights Reserved.