《专业二》第十八单元日考技能试题

 

(图一)

  1.   前端基础考察(100分)
  1. 创建一个类似上图的表单(图仅供参考),表单元素要做到全面(5分)
  2. 使用CSS调整样式,做到美观整洁,符合产品思维(5分)
  3. 失焦正则验证:名字不得为空,2-3位汉字(10分)
  4. 失焦正则验证:姓氏必须为1位纯汉字(10分)
  5. 失焦正则验证:用户名不得为空,5-10位字符,不得以数字和下划线开头(10分)
  6. 失焦正则验证:密码长度在6位以上,且不可纯数字、纯字母、不能有特殊符号,必须是大写字母、小写字母、数字、下滑线的混合(10分)
  7. 失焦正则验证:密码和确认密码必须一致(10分)
  8. 失焦正则验证:邮箱必须是合格邮箱,格式为:XXXXX@XXX.com((10分)
  9. 增加一个手机号的文本框,失焦验证手机号必须为11位纯数字,必须是符合联通、电信、移动规则的手机号码(10分)
  10. 增加一组复选框,为爱好,至少4个选项,默认选中前两个(5分)
  11. 提交表单时要验证爱好至少选择两项,否则不可提交表单(5分)
  12. 提交表单时要对整个表单的规则进行检查,有不合格的表单不可提交(5分)
  13. 所有的不合格内容都要以红色字体显示在对应的表单元素后面(5分)

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<!-- CSS样式 -->
<style type="text/css">
*{
padding: 0;margin: 0;
}
.big{
width: 500px;height: auto;
border: 2px solid black;
margin: 20px auto;
}
tr{
height: 40px;
}
tr td:nth-child(1){
width: 70px;
text-align: right;
}
</style>
</head>
<body>
<!-- 主体 -->
<div class="big">
<!-- 表单提交到百度页面 -->
<form action="http://baidu.com" id="sub">
<table border="1">
<tr>
<td>姓名</td>
<td><input type="text" id="nameAll" /></td>
</tr>
<tr>
<td>姓氏</td>
<td><input type="text" id="nam" /></td>
</tr>
<tr>
<td>用户名</td>
<td><input type="text" id="nameUser" /></td>
</tr>
<tr>
<td>密码</td>
<td><input type="password" id="pas" /></td>
</tr>
<tr>
<td>验证密码</td>
<td><input type="password" id="rePas" /></td>
</tr>
<tr>
<td>Email</td>
<td><input type="email" id="eml" /></td>
</tr>
<tr>
<td>手机号</td>
<td><input type="tel" id="tel" /></td>
</tr>
<tr>
<td>爱好</td>
<td class="two">
<input type="checkbox" checked/>羽毛球
<input type="checkbox" checked/>乒乓球
<input type="checkbox"/>台球
<input type="checkbox"/>篮球
<input type="checkbox"/>足球
</td>
</tr>
<tr>
<td colspan="2" style="text-align: center;"><input type="submit" value="提交"/></td>
</tr>
</table>
</form>
</div>
</body>
</html>
<!-- 引入CDN JQuery -->
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript">
// 设置标记变量
var f1=false,f2=false,f3=false,f4=false,f5=false,f6=false,f7=false,f8=false;
// 名字,失焦事件
$('#nameAll').blur(function(){
var a=$(this).val()//获取value值
var reg=/^[\u4E00-\u9FA5]{2,3}$/ //正则表达式
if(!reg.test(a)){//用正则表达式检验
$(this).next().remove()//清除上一次的文本提示
$(this).after("<font color=#f00>2-3位汉字</font>")//在文本框后追加文本提示,错误
f1=false//改变标记变量值
return false//结束函数执行
}
$(this).next().remove()//清除上一次的文本提示
$(this).after("<font color=#f00>验证通过</font>")//在文本框后追加文本提示,正确
f1=true//改变标记变量值
})
// 姓氏
$('#nam').blur(function(){
var a=$(this).val()
var reg=/^[\u4e00-\u9fa5]$/
if(!reg.test(a)){
$(this).next().remove()
$(this).after("<font color=#f00>1位纯汉字</font>")
f2=false
return false
}
$(this).next().remove()
$(this).after("<font color=#f00>验证通过</font>")
f2=true
})
// 用户名
$('#nameUser').blur(function(){
var a=$(this).val()
var reg=/^[a-zA-Z]\w{4,9}$/
if(!reg.test(a)){
$(this).next().remove()
$(this).after("<font color=#f00>5-10位字符,不得以数字和下划线开头</font>")
f3=false
return false
}
$(this).next().remove()
$(this).after("<font color=#f00>验证通过</font>")
f3=true
})
// 密码
$('#pas').blur(function(){
var a=$(this).val()
var reg=/^\w{6,}$/
if(!reg.test(a)){
$(this).next().remove()
$(this).after("<font color=#f00>6位以上,不可纯数字纯字母,不能有特殊符号,必须是大写字母小写字母数字下滑线的混合</font>")
f4=false
return false
}
$(this).next().remove()
$(this).after("<font color=#f00>验证通过</font>")
f4=true
})
// 验证密码
$('#rePas').blur(function(){
var a=$(this).val()//获取密码值
var b=$('#pas').val()//获取确认密码值
if(a!=b){//密码值和确认密码值比较
$(this).next().remove()
$(this).after("<font color=#f00>密码和确认密码必须一致</font>")
f5=false
return false
}
$(this).next().remove()
$(this).after("<font color=#f00>验证通过</font>")
f5=true
})
// 邮箱
$('#eml').blur(function(){
var a=$(this).val()
var reg=/^\w+@\w+\.com$/
if(!reg.test(a)){
$(this).next().remove()
$(this).after("<font color=#f00>邮箱必须是合格邮箱,格式为:XXXXX@XXX.com</font>")
f6=false
return false
}
$(this).next().remove()
$(this).after("<font color=#f00>验证通过</font>")
f6=true
})
// 手机号
$('#tel').blur(function(){
var a=$(this).val()
var reg=/^1[3|5|7|8]\d{9}$/
if(!reg.test(a)){
$(this).next().remove()
$(this).after("<font color=#f00>手机号必须为11位纯数字,必须是符合联通、电信、移动规则的手机号码</font>")
f7=false
return false
}
$(this).next().remove()
$(this).after("<font color=#f00>验证通过</font>")
f7=true
})
// 爱好
// 绑定表单提交提交事件
$('#sub').submit(function(){
if(f1==true&&f2==true&&f3==true&&f4==true&&f5==true&&f6==true&&f7==true&&$('.two :checked').length>=2){//如果以上验证都通过
return true//提交成功
}
if($('.two :checked').length<2){
$('.two font').remove()
$('.two').append("<font color=#f00>爱好至少选择两项,否则不可提交表单</font>")//爱好验证失败
return false//提交成功
}
$('.two font').remove()
$('.two :checked').parents('td').append("<font color=#f00>验证正确</font>")//爱好验证成功
return false//提交失败
})
</script>
<!-- 没有用手动触发函数,所以要自己真正的手动触发失焦,得到提示信息而跳转页面 -->

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值