JavaScriptで英数字とハイフンを全角から半角に変換する

String.prototype.toAlnumHalf = function(){
    var s = this;
    s = s.replace(/[!-~]/g, function(s){
        return String.fromCharCode(s.charCodeAt(0) - 0xFEE0);
    });
    s = s.replace(/[‐-―ー]/g, '-');
    return s;
};