「利用者:Sat.d.h./char-counter.js」の版間の差分
削除された内容 追加された内容
←新しいページ: 「/** * 文字数を種類ごとにカウントするツール。 * 下リンクによれば、ひらがなは60~70%、漢字は20~30%、カタカナ...」 |
(相違点なし)
|
2016年12月17日 (土) 03:58時点における版
/**
* 文字数を種類ごとにカウントするツール。
* 下リンクによれば、ひらがなは60~70%、漢字は20~30%、カタカナは10%が理想である。
* https://books.google.co.jp/books?id=ZSkfBAAAQBAJ&pg=PA106&lpg=PA106#v=onepage&q&f=false
* 表記法の詳細は[[w:ja:Wikipedia:表記ガイド]]を参照。
*/
(function() {
'use strict';
var txt = '';
if (document.getElementById('editform')){
txt = document.forms.editform.wpTextbox1.value;
} else{
txt = document.getElementById('bodyContent').textContent;
}
$('#p-namespaces > ul')
.append($('<li><span><a>文字数</a></span></li>').attr({'id':'char-count'}));
$('#char-count').click(function() {
var hanBasic = txt.match(/[\u2e80-\u2fdf|\u3400-\u4dbf|\u4e00-\u9fff|\uf900-\ufaff]/g) || '';
var hanSuppl = txt.match(/[\ud840-\ud87e][\udc00-\udfff]/g) || '';
var hira = txt.match(/[あ-ゖ]/g) || '';
var kana = txt.match(/[ア-ヺ]/g) || '';
var numHanBasic = hanBasic.length;
var numHanSuppl = hanSuppl.length;
var numHira = hira.length;
var numKana = kana.length;
var numTotal = txt.length;
var numHan = numHanBasic + numHanSuppl;
var numJpan = numHan + numHira + numKana;
var numOther = numTotal - numHan - numHira - numKana;
alert('漢字数: ' + numHan + ' (' + Math.round(numHan / numJpan * 100) + '%) 、'
+ 'ひらがな: ' + numHira + ' (' + Math.round(numHira / numJpan * 100) + '%) 、'
+ 'カタカナ: ' + numKana + ' (' + Math.round(numKana / numJpan * 100) + '%) 、'
+ 'その他: ' + numOther);
});
}());