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>
浙公网安备 33010602011771号