JavaScript で paste 内容を書き換える
はじめに
テキストフィールド、テキストエリア、編集可能な要素(contenteditable)へのペースト処理でペースト文字列を上書きして別の文字列や一部変更した文字列をペーストする処理を実現します。
サンプル
function onPaste(event) {
  const data = event.clipboardData || window.clipboardData;
  const paste = data.getData('text');
  // 上書き文字列の作成(改行文字を空文字に置換する)
  const text = paste.replace(/\r?\n/g, '');
  if (paste != text) {
    if (document.execCommand('insertText', false, text)) {
      // 上書きに成功した場合、元々の貼り付けイベントを中断(伝搬阻止)する
      event.preventDefault();
      event.stopImmediatePropagation();
    }
  }
};
document.getElementById('input_id').addEventListener('paste', onPaste, true);使用案
- 電話番号のハイフンを削除する
 - 住所の半角数字を全角数字に置き換える
 - 行超行末のスペースを削除する
 - ...
 
備考
Text 形式だけでなく、 HTML 形式で書き込むこともできます。
document.execCommand('insertText', false, text)
document.execCommand('insertHTML', false, text)