1. 程式人生 > 實用技巧 >JavaScript-Runoob:JavaScript 驗證 API

JavaScript-Runoob:JavaScript 驗證 API

ylbtech-JavaScript-Runoob:JavaScript 驗證 API

1.返回頂部
1、

JavaScript 驗證 API


約束驗證 DOM 方法

PropertyDescription
checkValidity() 如果 input 元素中的資料是合法的返回 true,否則返回 false。
setCustomValidity()

設定 input 元素的 validationMessage 屬性,用於自定義錯誤提示資訊的方法。

使用 setCustomValidity 設定了自定義提示後,validity.customError 就會變成true,則 checkValidity 總是會返回false。如果要重新判斷需要取消自定義提示,方式如下:

setCustomValidity('') 
setCustomValidity(null) 
setCustomValidity(undefined)

以下例項如果輸入資訊不合法,則返回錯誤資訊:

checkValidity() 方法

<input id="id1" type="number" min="100" max="300" required>
<button onclick="myFunction()">驗證</button>
 
<p id="demo"></p>
 
<script>
function
myFunction() { var inpObj = document.getElementById("id1"); if (inpObj.checkValidity() == false) { document.getElementById("demo").innerHTML = inpObj.validationMessage; } } </script>
嘗試一下 »

約束驗證 DOM 屬性

屬性描述
validity 布林屬性值,返回 input 輸入值是否合法
validationMessage 瀏覽器錯誤提示資訊
willValidate 指定 input 是否需要驗證

Validity 屬性

input 元素的validity 屬性包含一系列關於 validity 資料屬性:

屬性描述
customError 設定為 true, 如果設定了自定義的 validity 資訊。
patternMismatch 設定為 true, 如果元素的值不匹配它的模式屬性。
rangeOverflow 設定為 true, 如果元素的值大於設定的最大值。
rangeUnderflow 設定為 true, 如果元素的值小於它的最小值。
stepMismatch 設定為 true, 如果元素的值不是按照規定的 step 屬性設定。
tooLong 設定為 true, 如果元素的值超過了 maxLength 屬性設定的長度。
typeMismatch 設定為 true, 如果元素的值不是預期相匹配的型別。
valueMissing 設定為 true,如果元素 (required 屬性) 沒有值。
valid 設定為 true,如果元素的值是合法的。

例項

如果輸入的值大於 100,顯示一個資訊:

rangeOverflow 屬性

<input id="id1" type="number" max="100">
<button onclick="myFunction()">驗證</button>
 
<p id="demo"></p>
 
<script>
function myFunction() {
    var txt = "";
    if (document.getElementById("id1").validity.rangeOverflow) {
       txt = "輸入的值太大了";
    }
    document.getElementById("demo").innerHTML = txt;
}
</script>
嘗試一下 »

如果輸入的值小於 100,顯示一個資訊:

rangeUnderflow 屬性

<input id="id1" type="number" min="100" required>
<button onclick="myFunction()">OK</button>
 
<p id="demo"></p>
 
<script>
function myFunction() {
    var txt = "";
    var inpObj = document.getElementById("id1");
    if(!isNumeric(inpObj.value)) {
        txt = "你輸入的不是數字";
    } else if (inpObj.validity.rangeUnderflow) {
        txt = "輸入的值太小了";
    } else {
        txt = "輸入正確";
    }
    document.getElementById("demo").innerHTML = txt;
}
 
// 判斷輸入是否為數字
function isNumeric(n) {
    return !isNaN(parseFloat(n)) && isFinite(n);
}
</script>
嘗試一下 » 2、
2.返回頂部
3.返回頂部
4.返回頂部
5.返回頂部
1、 https://www.runoob.com/js/js-validation-api.html 2、
6.返回頂部
作者:ylbtech
出處:http://ylbtech.cnblogs.com/
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。