@ 用Jquery实现添加用户表单验证功能

用JQuery实现添加用户(用户注册登录同理)表单验证功能

form表单部分

<!-- onsubmitb表单提交事件把 CheckFrom() 的结果 return 回来 如果是false的话阻止表单提交  -->
<form action="" method="post" enctype="multipart/form-data" onsubmit="return CheckFrom()"> 
	<div class ="form-group"> 
		<label for="exampleInputEmail1">账号</label> 
		<!-- onfocus 获取焦点事件 获取焦点时提示;onblue 失去焦点事件 失去焦点时验证 -->
		<input type="text" class="form-control" id="uname" placeholder="请输入账号" autocomplete="off" onfocus="focusUname()" onblur="blurUname()" > 
		<p class="help-block" id="unamemsg"></p>
	</div>
	 <div class="form-group"> 
	 	<label for="exampleInputPassword1">密码</label> 
	 	<input type="password" class="form-control" id="pass" placeholder="请输入密码" onfocus="focusPass()" onblur="blurPass()"> 
	 	<p class="help-block" id="passmsg"></p>
	 </div> 
	 <div class="form-group"> 
	 	<label for="exampleInputPassword1">确认密码</label> 
	 	<input type="password" class="form-control" id="repass" placeholder="请输入确认密码" onblur="blurRepwd()"> 
	 	<p class="help-block" id="repassmsg"></p>
	 </div> 
	 <div class="form-group"> 
	 	<label for="exampleInputFile">上传头像</label>
	 	<input type="file" id="fileName" onblur="blurfileName()">
	 	<p class="help-block" id="fileNameMsg">只支持.jpg|.jpeg|.gif|.png结尾的图片</p> 
	 </div> 
	 
	 <button type="submit" class="btn btn-default">提交</button> 
</form>

JQuery部分

<script type="text/javascript">
	// 总检测函数 如果账号,密码,确认密码,头像上传, 其中有一项错误表单无法提交
	function CheckFrom(){
		if (blurUname()==false || blurPass()==false ||blurRepwd()==false ||blurRepwd()==false) {
			return false;
		} else {
			return true;
		}
	}
	// uname获取焦点函数
	function focusUname(){
		// 获取uname后边的p标签,获取焦点时加上提示
		var unamemsg = $('#unamemsg').html('6~18位的除特殊字符外的任意字母、数字、汉字');
	}
	
	// uname失去焦点的函数
	function blurUname(){
		// 获取uname的值
		var uname = $('#uname').val();
		// 如果uname为空的话改变提示信息并且字体改成红色
		if(uname == "") {
			var unamemsg = $('#unamemsg').html('请输入账号').css('color','red');
			return false;
		}
		// 定义正则 (除特殊字符外的任意6~18位的字母、数字、下划线、汉字)
		var reg =  /^[^\~\`\!\@\#\$\%\^\&\*\(\)\-\_\+\=\{\}\[\]\|\\\;\:\'\"\,\.\<\>\/\?]{6,18}$/;
		// 验证 正则匹配
		var flag = reg.test(uname);
        if (flag){
            //验证成功 改变提示信息
            var unamemsg = $('#unamemsg').html('格式正确').css('color','');
        }else {
            //验证失败 改变提示信息和颜色 返回false
            var unamemsg = $('#unamemsg').html('格式不正确').css('color','red');
            return false;
        }
    }

    // password获取焦点函数
	function focusPass(){
		// 获取uname后边的p标签 添加提示信息
		var passmsg = $('#passmsg').html('以字母开头,长度在6~18之间,只能包含字母、数字和下划线');
	}

	// password失去焦点的函数
	function blurPass(){
		// 获取pass的值
		var pass = $('#pass').val();
		if(pass == "") {
			var passmsg = $('#passmsg').html('请输密码').css('color','red');
			return false;
		}
		// 定义正则 (6~18位必须以字母开头,只能包括字母、数字、下划线)
		var reg =  /^[a-zA-Z]\w{5,17}$/;
		// 验证 匹配正则
		var flag = reg.test(pass);
        if (flag){
            //验证成功
            var passmsg = $('#passmsg').html('格式正确').css('color','');
        }else {
            //验证失败
            var passmsg = $('#passmsg').html('格式不正确').css('color','red');
            return false;
        } 
    }

    // 验证确认密码 只判断俩次密码是否一致并加上提示信息
    function blurRepwd(){
    	var pass = $('#pass').val();
    	var repass = $('#repass').val();
    	if(pass != repass) {
    		var repassmsg = $('#repassmsg').html('俩次密码不一致').css('color','red');
    		return false;
    	}
    	if(repass != "" && repass == pass) {
    		var repassmsg = $('#repassmsg').html('俩次密码一致').css('color','');
    	}
    }

    // 验证头像上传
    /*
    	change()方法
    	当元素的值发生改变时,会发生 change 事件。
		该事件仅适用于文本域(text field),以及 textarea 和 select 元素。
	*/
    function blurfileName(){
    	// console.log($(this).val());	获取到的是完整的文件路径值;C:\fakepath\u=3137872250,621647835&fm=26&gp=0.jpg
    	$('#fileName').change(function(e){
    		console.log(e)
	        /*
		        简单的获取选择文件的名字
		        currentTarget:获取到的是绑定事件的对象
		        e.currentTarget.files 是一个数组,如果支持多个文件,则需要遍历
	        */
	        var fileMsg = e.currentTarget.files;
	        console.log(fileMsg)
	        var fileName = fileMsg[0].name;
	        // 图片名称
	        console.log(fileName);//js-dom.png
	        // 图片大小
	        var fileSize = fileMsg[0].size; //console.log(fileSize);3655k
	        console.log(fileSize)
	        // 判断图片大小是否超过4kb
			if (fileSize >= 39999) {
				 var fileNameMsg = $('#fileNameMsg').html('请上传40kb以内的图片').css('color','red')
	             return false;
			}
			// 图片类型
			var fileType = fileMsg[0].type; //判断文件类型
			console.log(fileType); // iamge/jpg
			 var type=(fileType.substr(fileType.lastIndexOf("/"))).toLowerCase();
			console.log(type)
	        if(type!="/jpg"&&type!="/gif"&&type!="/jpeg"&& type!="/png"){
	            var fileNameMsg = $('#fileNameMsg').html('您上传图片的类型不符合(.jpg |.jpeg |.gif |.png)!').css('color','red')
	             return false;
	        } else {
	        	var fileNameMsg = $('#fileNameMsg').html('头像可用').css('color','')
	        }
    	});
    }
    
</script>

图片展示
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大学生参加学科竞赛有着诸多好处,不仅有助于个人综合素质的提升,还能为未来职业发展奠定良好基础。以下是一些分析: 首先,学科竞赛是提高专业知识和技能水平的有效途径。通过参与竞赛,学生不仅能够深入学习相关专业知识,还能够接触到最新的科研成果和技术发展趋势。这有助于拓展学生的学科视野,使其对专业领域有更深刻的理解。在竞赛过程中,学生通常需要解决实际问题,这锻炼了他们独立思考和解决问题的能力。 其次,学科竞赛培养了学生的团队合作精神。许多竞赛项目需要团队协作来完成,这促使学生学会有效地与他人合作、协调分工。在团队合作中,学生们能够学到如何有效沟通、共同制定目标和分工合作,这对于日后进入职场具有重要意义。 此外,学科竞赛是提高学生综合能力的一种途径。竞赛项目通常会涉及到理论知识、实际操作和创新思维等多个方面,要求参赛者具备全面的素质。在竞赛过程中,学生不仅需要展现自己的专业知识,还需要具备创新意识和解决问题的能力。这种全面的综合能力培养对于未来从事各类职业都具有积极作用。 此外,学科竞赛可以为学生提供展示自我、树立信心的机会。通过比赛的舞台,学生有机会展现自己在专业领域的优势,得到他人的认可和赞誉。这对于培养学生的自信心和自我价值感非常重要,有助于他们更加积极主动地投入学习和未来的职业生涯。 最后,学科竞赛对于个人职业发展具有积极的助推作用。在竞赛中脱颖而出的学生通常能够引起企业、研究机构等用人单位的关注。获得竞赛奖项不仅可以作为个人履历的亮点,还可以为进入理想的工作岗位提供有力的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值