function array_index(val) { for (var i = 0; i < this.length; i++) { if (this[i] == val) return i; } return false; } Array.prototype.index = array_index; // str のキーストローク数を求める。key はオプション function get_stroke(str, key) { if (!key) key = [["@"], ["a", "b", "c"], ["d", "e", "f"], ["g", "h", "i"], ["j", "k", "l"], ["m", "n", "o"], ["p", "q", "r", "s"], ["t", "u", "v"], ["w", "x", "y", "z"], [",", "."]]; var ret = 0; for (var i = 0; i < str.length; i++) { for(var j = 0; j < key.length; j++) { var pos = key[j].index(str.charAt(i)); if (pos !== false) { ret += pos + 1; if (key[j].index(str.charAt(i-1)) !== false) ret += 1; } } } return ret; } get_stroke("aaa"); // => 5; get_stroke("lowreal.net"); // => 23; get_stroke("adg.jp"); // => 7
key を変更すればひらがな入力のストローク数も!(意味ないけど)てか2バイトはできないかも。どうでもいい
key はボタンごとの文字の配列。前の文字が同じボタンの場合、そのままじゃ入力できないので +1 してる。なんかアレだ……
キャリアによってキー配置が違うかもしれないけど、知らない。
.jp ドメインはさりげなく最短なので素敵よね。