使用jQuery仅允许数字和下划线(_)

时间:2015-08-25 12:37:19

标签: javascript java jquery

我需要有一个像122_123这样的有效输入。如果输入的id错误,我需要显示错误消息。这必须使用jQuery完成。我有以下代码似乎无法正常工作。

$('[id*=search]').unbind().click(function() {
    var numPattern = /^[0-9_]+$/;
    //check if the copy pasted value of RequestId has alphabets.
    if (!(/^[_0-9]*$/i).test($('[id*=reqId]').val()){
        alert('Invalid');
        $('[id*=reqId]').val('');
        return false;
    }
    displaySpinner();
    return true;
});

解决这个问题的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

我认为你实际上正在检查.test()的反面。您应该从条件中删除! not sign:

if ((/^[_0-9]*$/i).test($('[id*=reqId]').val()){

答案 1 :(得分:0)

检查一下这可能会对您有所帮助: -

$('document').ready(function() {

  $('#input_id').bind('keyup', function(e) {
    console.log($('#input_id').val());
    if ((/[_0-9]$/i).test($('#input_id').val())) {
      $('p').html("true");
    } else {
      $('p').html("false");
    }

  });

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>


<input id="input_id" type="text" />
<p></p>