javascript(try catch)

1.try and catch ,finally

<input id="demo">构造函数</input>
<button type="button" onclick="myFunction()">press it</button>
<p id="p01"></p>
<script>
    function myFunction(){
    var message,x;
    message = document.getElementById("p01");
    message.innerHTML = "";
    x = document.getElementById("demo").value;
    try{
        if(x == "") throw "x is empty";
        if(isNaN(x)) throw "x is not number";    //isNaN否是非数字值;是为true。不是责任false
        x = Number(x);
        if(x > 10) throw "bigger";
        if(x < 5) throw "smaller";
        if(5 < x && x <10) throw "ye";
    }
    catch(err){
        message.innerHTML = err;                 //err默认为打印try里生成的错误信息
    }
    finally{
        document.getElementById("demo").value = "";
    }
    }
</script>

try 语句测试代码块的错误。

catch 语句处理错误。

throw 语句创建自定义错误。

finally 语句在 try 和 catch 语句之后,无论是否有触发异常,该语句都会执行。

 2.验证

<input id="numb">         //表格内输入文字
<button type="button" onclick="myFunction()">提交</button>  //点击按钮获取函数返回值
<p id="demo"></p>      //调用id="demo"的函数
<script>
function myFunction() {
    var x, text;
    // 获取 id="numb" 的值
    x = document.getElementById("numb").value;
    // 如果输入的值 x 不是数字或者小于 1 或者大于 10,则提示错误 Not a Number or less than one or greater than 10
    if (isNaN(x) || x < 1 || x > 10) {
        text = "输入错误";
    } else {
        text = "输入正确";
    }
    document.getElementById("demo").innerHTML = text;
}
<script>

 

 3.表格简单书写

//判断表格是否为必填

<script>
function validateForm(){
    var x=document.forms["myForm"]["fname"].value;
    if (x==null || x==""){
        alert("姓必须填写");
        return false;
    }
}
</script>

<body>
//action="demo_form.php"调用页面,方法:post请求
//text 表格形式写入,submit点击提交,name和oncubmit为对应是上面新增内容 <form name="myForm" action="demo_form.php"  onsubmit="return validateForm()" method="post"> <input type="text" name="fname" required="required"> <input type="submit" value="提交"> </form> <p>点击提交按钮,如果输入框是空的,浏览器会提示错误信息。</p> </body>

 

 3.验证 url:https://www.runoob.com/js/js-validation-api.html

<input id="id1" type="number" min="100" max="300" required>
<button onclick="myFunction()">verification(验证)</button>
<p>if the input number less than 100 and bgreter than 300 ,an error message is dispalyed</p>
<p id="demo"></p>
<script>
function myFunction(){
    var inpobj = document.getElementById("id1")
    if(inpobj.checkValidity() == false){
        document.getElementById("demo").innerHTML = inpobj.validationMessage;     //validationmessage打印浏览器提示的错误信息
        }
    else{
        document.getElementById("demo").innerHTML = "right input";
    }
}
</script>
<script>
var inpObj = document.getElementById("id1");
inpObj.setCustomValidity('');              // 取消浏览器自定义(默认)提示的方式。(使用前先取消否则无法自动更改页面显示)
if (inpObj.checkValidity() == false) {
    if(inpObj.value==""){
        inpObj.setCustomValidity("不能为空!");        //重新定义浏览器提示错误信息方式
    }else if(inpObj.value<100 || inpObj.value>300){
        inpObj.setCustomValidity("请重新输入数值(100~300之间)!");
    }
    document.getElementById("demo").innerHTML = inpObj.validationMessage;
} else {
    document.getElementById("demo").innerHTML = "输入正确";
}
</script>
<script>
function myFunction(){
    var inpobj = document.getElementById("id1")
    if(inpobj.validity.rangeOverflow){
        text = "the input number is too big";   //validity.rangeOverflow输入元素值大于设置值,Underflow输入元素值小于设置值
        }
    else if(inpobj.validity.rangeUnderflow){
        text = "the input number is too small";
    }
    document.getElementById("demo").innerHTML = text;
}
</script>

  

posted @ 2022-09-16 16:01  JASON_yul  阅读(50)  评论(0)    收藏  举报