入力・ペーストした際に先頭・語尾の半角・全角スペース削除
$("#keyword").on('keyup', function(e) { if ($(this).val().match(/^( | )+|( | )+$/g)) { $(this).val($(this).val().replace(/^( | )+|( | )+$/g, '')); } }).on('paste', function(e) { var keyword = this; setTimeout(function () { $(keyword).val($(keyword).val().replace(/^( | )+|( | )+$/g, '')); }, 1); });
まとめ
・keyupとpasteで入力・ペースト時の文字列を制御する
・keyup時はmatchでいったんマッチするかチェックした上で削除する(chromeで十字キーでの移動ができなくなるため)
・paste時はsetTimeoutを使うことでペースト時の文字列を取得する