0

我正在尝试使用 jquery 进行验证。输入帐号:

这是我的html代码

<input type="text" name="Assets" id="Assets" size="25" /><br />
<div id="eb"> Please Enter Valid Account no </div>
Enter Amount<input type="text" name="Liability" id="Liability" size="25" /><br />

这是我的jQuery代码

$(document).ready(function(){
    $("#Assets").change(function(){
        var Assets = $('input#Assets').val();
        var expression=/[0-9]{4}\s[0-9]{4}\s[0-9]{2}\s[0-9]{10}/;
        if (Assets == "" || Assets == " ") {
            $('#eb').show();
        }
        else if(Assets.test(expression)){
            $('#eb').hide();
        }
        $('#eb').toggle();
}

我想在用户输入帐号时显示一条消息,然后他一次可以看到请输入有效帐号的消息,如果他插入正确,则可以隐藏该消息。

这是我的 jsfiddle - http://jsfiddle.net/BzdfN/5/ 请帮忙

4

3 回答 3

2

试试这个代码:

$(document).ready(function () {
    $("#Assets").change(function () {
        var Assets = this.value;
        var expression = /[0-9]{4}\s[0-9]{4}\s[0-9]{2}\s[0-9]{10}/;
        if (Assets.match(expression)) {  
            $('#eb').hide();
        } else {
            $('#eb').show();
        }
    });
});

这是对更简单代码的建议。请注意,我使用 了将正则表达式作为参数的match(),如果你想使用test(),你应该使用 value/string 作为参数并使用 like expression.test(Assets)

小提琴

关于您的代码/小提琴:

  • 你错过了将 jQuery 库添加到小提琴中
  • 你错过了)关闭 change() 函数
  • 你错过了})关闭 ready() 函数
  • 你用test()错了顺序,检查我上面的文字关于match()test()
  • 你更正的小提琴:小提琴
于 2013-10-19T07:16:12.643 回答
1

不包括 jQuery 和多个语法错误

$(document).ready(function () {
    var expression = /[0-9]{4}\s[0-9]{4}\s[0-9]{2}\s[0-9]{10}/;
    $("#Assets").change(function () {
        $('#eb').toggle(!expression.test(this.value));
    })
})//missing brackets

演示:小提琴

于 2013-10-19T07:18:00.560 回答
0

试试这个 - http://jsfiddle.net/dangoodspeed/BzdfN/9/ ​​我做了很多更改,包括激活 jQuery,关闭一些函数,以及为 .test 调用反转资产和表达式

        else if(expression.test(Assets)){
于 2013-10-19T07:17:26.453 回答