勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

JavaScriptで全角半角を判別の上で文字数カウントを行う

   2014/05/22  JavaScript

やりたかった事は「全角5文字・半角10文字以内の入力フォーム」
みたいなもの。

■参考サイト
http://blog.tofu-kun.org/070627210315.php

■サンプル
function strLength(strSrc){
len = 0;
strSrc = escape(strSrc);
for(i = 0; i < strSrc.length; i++, len++){
if(strSrc.charAt(i) == "%"){
if(strSrc.charAt(++i) == "u"){
i += 3;
len++;
}
i++;
}
}
len = Math.ceil(len.toString() / 2);
return len;
}
var test = 'あいうえおaaa';
console.log(strLength(test)); //7が出力される

 - JavaScript

  関連記事

JavaScriptで指定したURLの最終パス名(ディレクトリ)を取得する方法
JavaScriptで指定したURLの最終パス名(ディレクトリ)を取得する方法

JavaScriptで「https://taitan916.info/blog/ ...

横スクロール可能な要素を視覚的に分かりやすくする「ScrollHint」ライブラリの利用方法
横スクロール可能な要素を視覚的に分かりやすくする「ScrollHint」ライブラリの利用方法

横長のtableを設置し、CSSのoverflowで横スクロール可能にしてもユー ...

reCAPTCHA v2でAjaxは使わずにチェック状況を確認する方法
reCAPTCHA v2でAjaxは使わずにチェック状況を確認する方法

reCAPTCHA v2を実装する案件があり以前の記事を参考に組み込んでみたもの ...

formで親要素(ラジオボタン)の選択状況により子要素(セレクトメニュー)の選択肢を変更し、未選択の要素は送信しない方法
formで親要素(ラジオボタン)の選択状況により子要素(セレクトメニュー)の選択肢を変更し、未選択の要素は送信しない方法

formで親要素(ラジオボタン)の選択状況により子要素(セレクトメニュー)の選択 ...

Ajaxでプラグイン無しのファイルアップロード方法
Ajaxでプラグイン無しのファイルアップロード方法

画像ファイルを添付できて、尚且つAjaxを用いた非同期通信のフォームを作りたかっ ...