
JavaScriptで以下のようにテキストエリアで入力文字数を表示させているのですが、
全角文字も半角文字も同じ1文字としてカウントされてしまいます。
入力された文字が全角なら2、半角なら1としてカウントするように出来ないでしょうか?
================================================================
/*テキスト入力フォームで文字数を表示する*/
function ShowLength( str ) {
document.getElementById("inputlength").innerHTML = str.length + "文字";
}
----------------------------------------------------------------
<textarea cols="70" rows="10" onkeyup="ShowLength(value);" /></textarea>
<p id="inputlength">0文字</p>
================================================================
宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
こんにちは
文字数ではなくてバイト数で取ってみては?
<script type="text/javascript"><!--
function ShowLength( str ) {
len = 0;
for(i=0;i<str.length;i++) {
var c = str.charCodeAt(i);
if ( (c >= 0x0 && c < 0x81) || (c == 0xf8f0) || (c >= 0xff61 && c < 0xffa0) || (c >= 0xf8f1 && c < 0xf8f4)){
len += 1;
}
else { len += 2; }
}
document.getElementById("inputlength").innerHTML = len + "文字";
}
//--></script>
<textarea cols="70" rows="10" onkeyup="ShowLength(this.value);" /></textarea>
<p id="inputlength">0文字</p>
もしくはmatchを使うとか
function ShowLength( str ) {
len = 0;
for(i=0;i<str.length;i++) {
STR = str.charAt(i);
if(STR.match(/\w/)) { len += 1; }
else { len += 2; }
}
document.getElementById("inputlength").innerHTML = len + "文字";
}

No.1
- 回答日時:
<html><body>
<input type="text" id="str">
<input type="button" value="Count" onClick="alert(strlen($V('str')))">
<script>
function strlen(s){for(c=0,i=0;i<s.length;i++){n=escape(s.charAt(i));c+=(n.length<4)?1:2;}return c;}
function $V(o) {return document.getElementById(o).value;}
</script></body></html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- Excel(エクセル) セルに入力した小文字アルファベット、数字を大文字表示させるには? 3 2022/07/13 10:01
- その他(ソフトウェア) ソースネクストアプリをインストールし、製品登録で半角英数字が入力できない 5 2022/07/03 22:44
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- Excel(エクセル) エクセルの数式で教えてください。 3 2022/10/25 10:52
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Javascript】A or Bの時に分岐
-
テキスト入力の補助について
-
テキスト入力フォームの値を画...
-
JSPとJavaScriptの連携について...
-
Javascript 郵便番号の入力欄で...
-
テキストボックスの中身を選択...
-
Webブラウザにてページのりロー...
-
strutsのhtmlタグのfileについて
-
日付入力欄の表示形式を自動的...
-
<input type="text">を選択した...
-
フォームから入力すると、入力...
-
テキスト領域に入力した値を利...
-
WebサイトにOutlookマクロ(V...
-
VBScript
-
テキストボックス入力を半角英...
-
テキストエリアに入力された語...
-
テキストボックスを無効にする...
-
javaでフォーム入力の確認と文...
-
javascriptで入力フォームが空...
-
return trueとreturn falseの用...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onClickとsubmitの処理順序
-
フォームの値が0だったら空白...
-
javascriptで入力フォームが空...
-
文末の改行コードを削除したい
-
JSPとJavaScriptの連携について...
-
日付入力欄の表示形式を自動的...
-
条件により、リンク先に画面遷...
-
Acrobat Java Scriptについて教...
-
PDFフォームで条件つき金額を表...
-
VBScript
-
テキストボックスを無効にする...
-
イベント発生時に入力待ち状態...
-
ラジオボタンによるフォームの...
-
Webブラウザにてページのりロー...
-
テキストボックス入力を半角英...
-
お願いします!Javascriptで月...
-
入力モード 自動 切り替え
-
strutsのhtmlタグのfileについて
-
JQueryで2つのテキストフィー...
-
onChange()メソッド
おすすめ情報