javascript正则验证偶然报错

javascript正则验证偶尔报错!

function vali_Float(obj) {
    var tar = $(obj).val();
    if (tar == "" || tar == null) {
        return false;
    } else {
        var reg = /^\d+(\.\d+)?$/;  //Float
        if (!reg.test(tar)) {
            $(obj).val("");
        }
    }
}


<input type="text" onblur="vali_Float(this)" />

偶尔会报捕获不到类型,或undefined is not a function.
但是又不影响正常的使用.

------解决思路----------------------
$ 这个变量存在吗
------解决思路----------------------
不如改下,不要jq
function vali_Float(obj) {
    if(!/^\d+(\.\d+)?$/.test(obj.value)){
        obj.value = "";
    }
}