コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

利用者:BitBucket/fullhalf.js

お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。

多くの WindowsLinux のブラウザ

  • Ctrl を押しながら F5 を押す。

Mac における Safari

  • Shift を押しながら、更新ボタン をクリックする。

Mac における ChromeFirefox

  • Cmd Shift を押しながら R を押す。

詳細についてはWikipedia:キャッシュを消すをご覧ください。

// This script is under public domain, and comes with ABSOLUTELY NO WARRANTY.
// You can use/modify/redistribute without any permission.

var confirm_prompt =
    "Textarea contains “\uFF10”(U+FF10) to “\uFF19”(U+FF19) and/or \n"+
    "“\uFF21”(U+FF21) to “\uFF3A”(U+FF3A) and/or \n"+
    "“\uFF41”(U+FF41) to “\uFF5A”(U+FF5A).\nReplace them?";
var confirm_result = null;

function install_fullhalf() {
  var f = document.getElementById("editform");
  if(f) {
    if(f.addEventListener) f.addEventListener("submit", fullhalf, false);
    else if(f.attachEvent) f.attachEvent("onsubmit", fullhalf);
  }
}
function fullhalf(e) {
  var edit = document.getElementById("editform").getElementsByTagName("textarea")[0];
  if(edit && /[\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A]/.test(edit.value)) {
    var r, c;
    if(window.execScript) {
      window.execScript(
        "confirm_result = MsgBox(confirm_prompt,vbYesNoCancel)",
        "VBScript");
      if(confirm_result == 2) c = true;
      else r = (confirm_result == 6);
    } else {
      r = prompt(confirm_prompt, "yes");
      if(!r) c = true;
      else r = /^[yY]/.test(r);
    }
    if(c) {
      if(e.preventDefault) e.preventDefault();
      else if(window.event) event.returnValue = false;
      return false;
    }
    if(r) {
      edit.value = edit.value.
                     replace(/\uFF10/g, '\u0030').
                     replace(/\uFF11/g, '\u0031').
                     replace(/\uFF12/g, '\u0032').
                     replace(/\uFF13/g, '\u0033').
                     replace(/\uFF14/g, '\u0034').
                     replace(/\uFF15/g, '\u0035').
                     replace(/\uFF16/g, '\u0036').
                     replace(/\uFF17/g, '\u0037').
                     replace(/\uFF18/g, '\u0038').
                     replace(/\uFF19/g, '\u0039').

                     replace(/\uFF21/g, '\u0041').
                     replace(/\uFF22/g, '\u0042').
                     replace(/\uFF23/g, '\u0043').
                     replace(/\uFF24/g, '\u0044').
                     replace(/\uFF25/g, '\u0045').
                     replace(/\uFF26/g, '\u0046').
                     replace(/\uFF27/g, '\u0047').
                     replace(/\uFF28/g, '\u0048').
                     replace(/\uFF29/g, '\u0049').
                     replace(/\uFF2A/g, '\u004A').
                     replace(/\uFF2B/g, '\u004B').
                     replace(/\uFF2C/g, '\u004C').
                     replace(/\uFF2D/g, '\u004D').
                     replace(/\uFF2E/g, '\u004E').
                     replace(/\uFF2F/g, '\u004F').
                     replace(/\uFF30/g, '\u0050').
                     replace(/\uFF31/g, '\u0051').
                     replace(/\uFF32/g, '\u0052').
                     replace(/\uFF33/g, '\u0053').
                     replace(/\uFF34/g, '\u0054').
                     replace(/\uFF35/g, '\u0055').
                     replace(/\uFF36/g, '\u0056').
                     replace(/\uFF37/g, '\u0057').
                     replace(/\uFF38/g, '\u0058').
                     replace(/\uFF39/g, '\u0059').
                     replace(/\uFF3A/g, '\u005A').

                     replace(/\uFF41/g, '\u0061').
                     replace(/\uFF42/g, '\u0062').
                     replace(/\uFF43/g, '\u0063').
                     replace(/\uFF44/g, '\u0064').
                     replace(/\uFF45/g, '\u0065').
                     replace(/\uFF46/g, '\u0066').
                     replace(/\uFF47/g, '\u0067').
                     replace(/\uFF48/g, '\u0068').
                     replace(/\uFF49/g, '\u0069').
                     replace(/\uFF4A/g, '\u006A').
                     replace(/\uFF4B/g, '\u006B').
                     replace(/\uFF4C/g, '\u006C').
                     replace(/\uFF4D/g, '\u006D').
                     replace(/\uFF4E/g, '\u006E').
                     replace(/\uFF4F/g, '\u006F').
                     replace(/\uFF50/g, '\u0070').
                     replace(/\uFF51/g, '\u0071').
                     replace(/\uFF52/g, '\u0072').
                     replace(/\uFF53/g, '\u0073').
                     replace(/\uFF54/g, '\u0074').
                     replace(/\uFF55/g, '\u0075').
                     replace(/\uFF56/g, '\u0076').
                     replace(/\uFF57/g, '\u0077').
                     replace(/\uFF58/g, '\u0078').
                     replace(/\uFF59/g, '\u0079').
                     replace(/\uFF5A/g, '\u007A').
    }
  }
  return true;
}
$(install_commadot);