小熊奶糖(BearCandy)
小熊奶糖(BearCandy)
发布于 2024-02-26 / 14 阅读
0
0

表单验证

JavaScript html表单验证

onsubmit=""当表单提交时执行 JavaScript:

html约束

屏幕截图 2024-02-26 212210.png

屏幕截图 2024-02-26 212403.png

indexOf()方法

indexOf() 方法返回值在字符串中第一次出现的位置。

从0开始索引

如果未找到该值,则 indexOf() 方法返回 -1

indexOf() 方法区分大小写。

JavaScript 验证APII

屏幕截图 2024-02-26 212726.png

JavaScript约束验证DOM属性

屏幕截图 2024-02-26 213014.png

JavaScript Validity属性

屏幕截图 2024-02-26 213102.png

isNaN();用于判断是否为数字返回是数字为false;不是为true

代码演示

<!DOCTYPE html>
<html>
<head>
    <title>表单验证</title>
</head>
<h1>表单验证</h1>
<p>请输入0-10之间的数字</p>
<input id="num">
<button type ="button" onclick="test13();">提交</button>
<span id="result"></span>
<!-- 必填项目的验证-required html约束-->
<form>
    <input type="number" name="pilot_id" required="required">
    <input type="submit" name="提交">
</form>
<!-- 通过onsubmit document.forms进行验证 -->
<form name="myform1" onsubmit="test13_1()">
    <input type="number" name="name13_1">
    <input type="submit" name="提交">
</form>
<!-- 验证邮箱合法 -->
<form name="email" onsubmit="email1()">
    <input type="text" name="name13_2">
    <input type="submit" name="提交">
</form>
<!-- API验证 -->
    <input id ="id13_3" max="100" min="50" type="number"  required>
    <button type ="button" onclick=" test13_3();">提交</button>
    <p id="demo13_3"></p>
    <!-- 最大值判断 -->
    <input id ="id13_4" max="100" min="50" type="number"  required>
    <button type ="button" onclick=" test13_4();">提交</button>
    <p id="demo13_4"></p>
<script>
    //验证是否为数字且满足内容要求
    function test13(){
    var x,txt;
    x=document.getElementById("num").value; //或者使用querySelector("#num").value属性
    if(isNaN(x) ||x<1||x>10 ){ //isNaN用于判断不是数字
        txt=`<p style="color:red;">输入内容不合法啊</p>`;
    }else{
        txt=`<p style="color:green;">输入内容合法</p>`;
    }
    document.getElementById("result").innerHTML=`${txt}`;
};
//必填项目验证约束
function test13_1(){
    //从form表单里的input标签获取内容
 var x = document.forms["myform1"]["name13_1"].value;
  if (x == null || x == ""){
    window.alert("提交结果为空");
    return false;
  }

};
//email验证
function email1(){
  var x,y,z;
  x= document.forms["email"]["name13_2"].value;
  y =x.indexOf(".");//返回.出现的位置 从0开始索引
  z =x.indexOf("@");//返回@出现的位置
  console.log (y);
  console.log(z);
  if(z<1 || y<z+2 ||y+2>x.length){
     alert("非法地址");
     return 0;
  };
};
//验证API
function test13_3(){
    var inObj = document.getElementById("id13_3");
    if(inObj.checkValidity()==false){
       document.getElementById("demo13_3").innerHTML = inObj.validationMessage;//.validationMessage属性系统默认报错返回信息
    }else{
        document.getElementById("demo13_3").innerHTML = "输入正确";
    }
};
//最大值判断使用rangeOverflow
function test13_4(){
    var inObj = document.getElementById("id13_4");
    if(inObj.validity.rangeOverflow){
       document.getElementById("demo13_4").innerHTML = inObj.validationMessage;//.validationMessage属性系统默认报错返回信息
    }else{
        document.getElementById("demo13_4").innerHTML = "输入正确";
    }
};

</script>



</html>

评论