我正在进行JQuery验证,如下所示:(我对jquery的了解不多)..
我无法完成以下任务:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
<script type="text/javascript"
src="http://jzaefferer.github.com/jquery-validation/jquery.validate.js">
</script>
<script>
$(document).ready(function(){
$("#commentForm").validate({
onfocusout: function(element) { $(element).valid(); } ,
rules: {
fullname : {
required: true,
maxlength: 14,
},
email: {
required: true,
email: true
}
},
messages: {
fullname : {
required: "Please specify your Full Name",
maxlength: "Please enter only upto 14 characters",
},
email: {
required: "We need your email address to contact you",
email: "Your email address must be in the format of name@domain.com"
}
}
});
});
</script>
</head>
<body>
<form id="commentForm" method="get" action="">
<fieldset>
<p>
<label for="fullname">Full Name</label>
<em>*</em><input id="fullname" name="fullname" size="25" class="required" maxlength="14" />
</p>
<p>
<label for="email">E-Mail</label>
<em>*</em><input id="email" name="email" size="25" class="required email" />
</p>
</fieldset>
</form>
</body>
</html>
请有人帮我实现这个目标..
答案 0 :(得分:0)
使用正则表达式!!
只允许使用字母a到z(小写),“ - ”(破折号或连字符)和“”(空格)
!/[^a-z0-9 -]/.test(input)
必须输入“ - ”(短划线)和“”(空格)字母,
/ /.test(input) && /-/.test(input)
“ - ”或“”字母不得是输入的第一个或最后一个字母,
!/^[ |-]|[ |-]$/.test(input)
“ - ”不得是直接邻居或邻近(在之前或之后)“”,
“ - ”或“”不得为自身的直接邻居(邻近)。
!/ -|- |--| /.test(input)
“电话号码”字段(4位区号,空格,7位本地码)
/^\d{4} \d{7}$/.test('1234 1234567')
如果满足条件,则每个表达式都返回true,否则返回false,使用它如下:
var input = $('some-selector').value();
if(
!/[^a-z0-9 -]/.test(input) &&
/ /.test(input) && /-/.test(input) &&
!/^[ |-]|[ |-]$/.test(input) &&
!/ -|- |--| /.test(input) &&
/^\d{4} \d{7}$/.test(input )
){
//do something
}
更好的是,如果您要格式化电话号码,请删除所有非数字字符
input = input.replace(/[^0-9]/,'')
算上(他们必须是11)
input.length == 11
然后根据需要格式化它们。