Javascript > 例外処理 > オブジェクト

例外としてオブジェクトを投げる。 入力した値が数字の場合2倍して返す。 数字以外は「数字以外が入力された。」と表示する。。

by s_hiroshi

HTML

<form>
    <input id="input" type="text" size="40">
    <button id="check">2倍にする</button>
</form>

JavaScript

$('#check').click(function(e) {
    var data = $('#input').val();
    try {
        $('#input').val(double(data));
    } catch (e) {
        $('#input').val(e.message);
        // console.log(e)
        // Object { message="数字以外が入力された。"}
    }
    return false;
});

function double(data) {
    if (data.match(/[^0-9]/) !== null) {
        throw {
            message: '数字以外が入力された。',
        }
    }
    return data * 2;
}