0

我正在尝试制作脚本,它将替换 keyup 事件输入中所有不需要的字符(来自正则表达式)。我尝试了一切,但对我没有任何作用......

我的代码:

$('#form_accomodation_cell').on('keyup', 'input[name="accomodation_cell[]"]', function() {

    var value = $(this).val();
    var regex_cell = /^[0-9 \+]+$/g;

    if (!isNumeric(value, regex_cell))
    {
        var new_value = value.replace(regex_cell, '');
        alert(new_value);
    }

    function isNumeric(elem, regex_cell) {
        if(elem.match(regex_cell)){
            return true;
        }else{
            return false;
        }
    }

});
4

2 回答 2

1

尝试这个:

$('#form_accomodation_cell').on("keyup", function () {
    var value = $(this).val();
    var regex_cell = /[^[0-9 +]]*/gi;
    var new_value = value.replace(regex_cell, '');
    alert(new_value);
});

在这里查看它的实际应用。

于 2013-08-08T09:00:29.033 回答
1

我认为您应该尝试抓住事件并最终以这种方式编写!

function validateNumber(evt) {
var theEvent = evt || window.event;
var key = theEvent.keyCode || theEvent.which;
key = String.fromCharCode( key );
var regex = /^[0-9 \+]+$/g;
    if( !regex.test(key) ) {
   theEvent.returnValue = false;
   if(theEvent.preventDefault) theEvent.preventDefault();
}
}
于 2013-08-08T09:00:41.817 回答