我正在尝试使用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/ 请帮忙
答案 0 :(得分: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(),则应使用值/字符串作为参数,并使用类似expression.test(Assets)
的颜色。
关于你的代码/小提琴:
)
关闭更改()功能})
关闭ready()函数test()
,请查看上面有关match()
和test()
答案 1 :(得分: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
演示:Fiddle
答案 2 :(得分:0)
试试这个 - http://jsfiddle.net/dangoodspeed/BzdfN/9/我做了一系列更改,包括激活jQuery,关闭一些函数,以及反转.test调用的资产和表达式
else if(expression.test(Assets)){