http://jsfiddle.net/dm6Hm/23/ 我想知道是否可以验证我的输入样式,但这只有在我点击输入字段后才会发生,这意味着背景颜色会恢复为默认的白色在我完成输入并单击其他地方之后。到目前为止,它能够接收数据并正确验证信息,但如果我点击其他任何地方,它不会重置白色背景。
<input type="email" class="Email" value="Email"/>
<input type="text" class="fname" value="First Name"/>
function isEmail(email){
var reg = /^(\w)+(\.\w+)*@(\w)+((\.\w+)+)$/;
return reg.test(email);
}
$(".Email").keydown(function(e) {
var $test = $(this).css("background-color", "");
if (isEmail($test.val())) {
setTimeout(function() {
$test.css("background-color", "green").focus();
}, 0);
}else{
setTimeout(function() {
$test.css("background-color", "red").focus();
}, 0);
}
});
function isfname(text){
var reg = /^[a-z ,.'-]+$/i;
return reg.test(text);
}
$(".fname").keydown(function(e) {
var $test = $(this).css("background-color", "");
if (isEmail($test.val())) {
setTimeout(function() {
$test.css("background-color", "green").focus();
}, 0);
}else{
setTimeout(function() {
$test.css("background-color", "red").focus();
}, 0);
}
});