10-1 JS案例:表单校验

在开发中,我们经常需要对数据进行验证,例如:邮箱,会员名,密码等不能为空,会员名长度,密码长度需要符合规定,邮箱格式要正确等,那么我们这时就需要对表单中的数据进行校验。

前面我们已经学过了正则,以下我们在对表单数据进行验证时,就会使用到正则表达式,并且会使用上面提到过的dom来显示一些错误信息。

需求:

1.       验证邮箱符合规则,并且不能为空

2.       验证会员名密码不能为空,并且保证长度至少6位

3.       重复密码要与密码一致. 

分析:

1.       验证非空 /^\s*$/

2.       验证邮箱符合规则,正则表达式是: /^(\w)+@(\w)+(\.\w+)+$/

3.       验证会员名与密码长度至少6位 /^ (\w){6,}$/

4.       验证重复密码与密码一致,我们不需要使用正则,直接比较就可以。

5.       对于上述操作,我们在使用时,可以使用javascript中提供的test方法完成。

6.       为了保证数据不正确情况下,表单不能提交,我们需要使用onsubmit,如果绑定的函数返回的是false,表单就不能被提交    

实现:

<form name="Form1">
   email:<input type="text"name="email" id="email"/>
        <span id="email_msg"style="color:red;"></span><br/>
    username:<input type="text"name="username" id="username"/>
        <span id="username_msg" style="color:red;" ></span><br/>
    password:<input type="password"name="password" id="password"/>
        <span id="password_msg"style="color:red;" ></span><br/>
    comfirmpassword:<input type="password"name="repassword" id="repassword"/>
        <span id="repassword_msg"style="color:red;"></span><br/>
<input type="submit"onclick="return checkForm();" value="注册"/>
</form> 
<script type="text/javascript">
function checkForm(){
    //1.获取数据
    varemail=document.getElementById("email");
    varusername=document.getElementById("username");
    varpassword=document.getElementById("password");
    varrepassword=document.getElementById("repassword");  
 
    //2.验证非空
    if(checkNull(email.value)){
        //如果返回true,代表email为空
        document.getElementById("email_msg").innerHTML="邮箱不能为空";
        return false;
    }
    if(checkNull(username.value)){
        //如果返回true,代表email为空
        document.getElementById("username_msg").innerHTML="会员名不能为空";
        return false;
    }
    if(checkNull(password.value)){
        //如果返回true,代表email为空
        document.getElementById("password_msg").innerHTML="密码不能为空";
        return false;
    }
    if(checkNull(repassword.value)){
        //如果返回true,代表email为空
        document.getElementById("repassword_msg").innerHTML="重复密码不能为空";
        return false;
    }
   
    //3.验证邮箱符合规则
    if(!checkEmail(email.value)){
        //如果返回true,代表符合规则
        document.getElementById("email_msg").innerHTML="请输入有效的邮箱地址";
        return false;
    }
           
    //4.验证会员名或密码长度大于6位
    if(!checkLength(username.value)){
        document.getElementById("username_msg").innerHTML="会员名长度必须大于6位";
        return false;
    }
    if(!checkLength(password.value)){
        document.getElementById("password_msg").innerHTML="会员名长度必须大于6位";
        return false;
    }
    //5.验证两次输入密码一致
    if(password.value!=repassword.value){
        document.getElementById("repassword_msg").innerHTML="两次密码输入不一致";
        return false;
    }          
    return true;
}
//验证长度
function checkLength(data){
    varreg=/^\w{6,}$/;
    returnreg.test(data);
}
//验证邮箱
function checkEmail(data){
    varreg=/^(\w)+@(\w)+(\.\w+)+$/;
    returnreg.test(data);
}
//验证非空
function checkNull(data){
    var reg=/^\s*$/; //0个或多个空字符串
    returnreg.test(data);//如果data符合规则,返回true,否则返回false                    
}
</script>

内容概要:本文围绕“基于改进秃鹰算法的微电网群经济优化调度”展开研究,提出了一种改进的秃鹰搜索算法(BES),旨在解决微电网群在复杂运行环境下的多目标、强约束、非线性及高维经济调度问题。通过引入特定优化策略,增强了基础算法的全局搜索能力和收敛效率,克服了传统智能算法易陷入局部最优的缺陷。研究构建了一个包含分布式电源、储能系统与多元负荷的微电网群调度模型,以最小化系统综合运行成本为核心目标,综合考虑功率平衡、设备出力能力、储能运行特性等多重约束条件。通过仿真实验验证了所提算法在调度精度、稳定性和计算效率方面相较于传统方法具有明显优势,并进一步展示了其在降低能源开支、提升可再生能源消纳水平方面的实际应用价值。; 适合人群:具备一定电力系统基础知识或优化算法背景,从事新能源调度、智能优化算法研究与应用等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于微电网群、综合能源系统等场景下的经济调度优化;②为秃鹰算法及其他群体智能算法的改进、复现与性能对比提供参考范;③服务于科研仿真、算法验证及工程化应用需求。; 阅读建议:建议读者结合文中提供的Matlab代码实现进行实践操作,重点关注算法改进机制与调度模型的构建逻辑,同时可借助网盘资源获取完整资料,以加深对算法性能表现与应用场景的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值