http://jsfiddle.net/ZKsjr/ 我正在使用此脚本,它能够正确验证输入字段,但我试图实现一个新功能,以便重置为原始值名称(名字)如果信息不正确已经被使用过(var reg =/^ [az,.'-] + $/i;)但是这需要在完成输入(模糊)之后发生,你会知道如何解决这个问题吗?文本输入验证
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title> - jsFiddle demo</title>
<script type='text/javascript' src='//code.jquery.com/jquery-1.10.1.js'></script>
<link rel="stylesheet" type="text/css" href="/css/result-light.css">
<script type='text/javascript'>//<![CDATA[
$(window).load(function(){
function isfname(text){
var reg = /^[a-z ,.'-]+$/i;
return reg.test(text);
}
$(".fname").keyup(function(e) {
var $test = $(this);
if (isfname($test.val())) {
$test.css("border-color", "rgb(140, 202, 165)");
$test.css("background-color", "rgb(140, 202, 165)");
$test.css("color", "black");
}else{
$test.css("background-color", "rgb(198, 95, 88)");
$test.css("border-color", "rgb(198, 95, 88)");
$test.css("color", "black");
}
}).blur(function(e) {
$(this).css("background-color", "");
$(this).css("border-color", "");
$(this).css("color", "");
});
});//]]>
</script>
</head>
<body>
<input type="text"id="element_2_2" class="fname" maxlength="255" size="8" " value="First Name"
onblur="if (this.value == '') {this.value = 'First Name';}"
onfocus="if (this.value == 'First Name') {this.value = '';}" required/>
</body>
</html>
是的,PHP或其他一些服务器端脚本。 Javascript不适合验证,因为它可以被停用。检查[在这个问题中的警告](http://stackoverflow.com/q/3602530/938236) –
我不会单独使用JavaScript,我遇到的问题是模糊函数将背景和边框颜色设置为它的默认值很好,但如果有人输入了无效数据,它不会重置默认值。 –
@Francisco那么,只要您使用服务器端验证进行备份,客户端验证_is_很有用。 :) – doppelgreener