はてなユーザーIDの仕様についての備忘録
Greasemonkeyなどで調べることがあったので、まとめておきます。
★ サブアカウントのユーザー名は、アルファベットで始まり、アルファベットか数字で終わる3文字以上、32文字以内の半角英数字で入力してください。
サブアカウントについて - はてな
一言で説明すると、この通り。主語がサブアカウントになっていますが、メインアカウントでも同じです。ただアルファベットと数時以外でも「-」(ハイフン)「_」(アンダーバー)が使えますが。
これを正規表現で書くと
[a-zA-Z][\w-_]{1,30}[a-zA-Z0-9]
こうなりますね。
もうちょっとまとめると
使える文字は
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789-_
の64文字。いずれも半角。
3文字以上、32文字以内
これはそのまま
始めの1文字はアルファベットのみ
○ sample
× 0sample
× -sample
× _sample
最後の文字は英数字のみ
○ sample
○ sample0123
× sample-
× sample_
という。
仕様じゃないけれど
はてなユーザーIDの特徴としては、それがユーザー名として機能することが多いこと。
私の場合は id:rikuo で ハンドルネームも同じ rikuo なのでちょっと例としては向いてないですが、例えば、はてな社長の近藤淳也さんのことを、id:jkondo と呼んだり、同じくはてなの伊藤直也さんを id:naoya などと呼ぶことがよく見られます。他のサービスで言えば mixi や pixiv の場合ユーザーIDは番号なため、あまりそういう傾向にないのですが、はてなでは id:〜と書くとそれでリンクされるなどの慣習からか、ユーザーIDが個人名称として使われるケースが多いです。
もしも、新たにユーザー登録をする場合はそこら辺も気をつけて、呼ばれてもいいような言葉にした方がいいでしょう。
はてなでもID名でなくハンドルネームで呼び合う習慣が定着するか?
何故上のエントリーを書いたかというと、本日公開された
Myはてなをリニューアルしました - はてなの日記 - 機能変更、お知らせなど
Myはてなをリニューアルしました - はてなダイアリー日記
のリニューアルで、ニックネームという欄が設けられました。
ここで、登録するとハンドルネームを設定することができ、またこれらの情報が今後色々なサービスで使われるようになることで、これまでユーザーIDで呼び合ってたものが変化していくのかなぁ、と思ったので。
私自身で言えば、上でも書きましたが ID名 id:rikuo ハンドル rikuo と同じですからあまり関係ないのですが、個人的に
はてブのIDコール先を見やすくするGreasemonkey
というのを作っているので、そうした文化がどうなるか?というのは気になるところです。
つまりは例えば「近藤淳也」と表記してあっても id:jkondo へリンクする機能(ニックネーム対応?)があった方がいいのか?
(で、それを技術的にどうするのか?とか)
という辺り。
マイはてな(プロフィール)に移動しやすくするBookmarklet
既にいくつかありそうですが*1
リンク先を変更する
javascript:void(function(a,h,u,l){for(i=0;i<a.length;i++){l=a[i].getAttribute(h);if(!l)continue;if(u=l.match(/^http:\/\/[\w\.]+(?:hatena.ne|hatelabo).jp\/([a-zA-Z][\w-]{1,30}[a-zA-Z0-9])\/$/)){a[i].setAttribute(h,'http://www.hatena.ne.jp/'+u[1]+'/')}}})(document.getElementsByTagName('a'),'href')
使い方
http://d.hatena.ne.jp/rikuo/
http://b.hatena.ne.jp/rikuo/
http://h.hatena.ne.jp/rikuo/
http://rikuo.g.hatena.ne.jp/rikuo/
http://serif.hatelabo.jp/rikuo/
などのリンク先を変更します。
→ http://www.hatena.ne.jp/rikuo/
たぶん、はてなブックマークのコメント一覧、はてなスター、はてなハイクなどで便利でしょう。
プロフィールに移動する
javascript:void(function(l,u){if(u=l.match(/^http:\/\/[\w\.]+(?:hatena.ne|hatelabo).jp\/([a-zA-Z][\w-]{1,30}[a-zA-Z0-9])\//)){location.href='http://www.hatena.ne.jp/'+u[1]+'/'}})(location.href)
使い方
http://d.hatena.ne.jp/rikuo/
http://d.hatena.ne.jp/rikuo/20090305#p2009030503
http://b.hatena.ne.jp/rikuo/
http://h.hatena.ne.jp/rikuo/
http://rikuo.g.hatena.ne.jp/rikuo/
http://serif.hatelabo.jp/rikuo/
のページで使うと、プロフィールのページに移動します。
→ http://www.hatena.ne.jp/rikuo/
[どうぞご利用ください。]
><
*1:というか、自分自身前に作ったような気もする