<form onsubmit="alert('驗證成功');return false;"> <p>姓名:<input name="" type="text" size="6" datatype="chinese" lenlimit="2-4" alt="限2至4箇中文字/符"><span>(限中文)</span> </p> <p> <input type="submit" name="button" class="button" value="驗證表單" verify="true"/> </p> </form>
代碼說明:html
按鈕上添加verify="true",即該按鈕支持驗證動做,會驗證form表單全部帶驗證屬性的控件,若是驗證不經過,則提示alt的消息框,並阻止form表單提交。git
使用說明:github
一、非空驗證正則表達式
<input name="" type="text" nullable="false"/>服務器
二、字符長度驗證異步
<input name="" type="text" lenlimit="5"/>(最長5個字符)字體
<input name="" type="text" lenlimit="5-10"/>(最少5個字符,最多10個字符)優化
三、數值區間驗證ui
<input name="" type="text" numlimit="5"/>(數值不得大於5)url
<input name="" type="text" numlimit="5-10"/>(數值介於5-10之間)
指定某個錄入控件爲設定值
<p> 產品價格: <input name="prise" type="text" value="10" datatype="uint"/> 元 </p> <p>最低優惠: <input name="min" type="text" value="12" datatype="uint" numlimit="{prise}"/>(優惠價不能夠超過產品價格) </p> <p> 最大優惠: <input name="max" type="text" numlimit="{min}-{prise}"/>(最大優惠大於最低優惠,但不能夠超過產品價格) </p>
四、輸入是否相同
<input name="pw1" type="text"/>
<input name="pw2" type="text" sametarget="pw1"/>(與name="pw1"的控件錄入相同)
五、不等於某值
<select name="select" id="select" novalue="|1|2" alt="請選擇專科或以上學歷">
<option value="">--請選擇--</option>
<option value="5">碩士</option>
<option value="4">本科</option>
<option value="3">專科</option>
<option value="2">中學</option>
<option value="1">小學</option>
</select>
六、數據類型驗證
<input name="tm" type="text" datatype="uint"/> 設置datatype="uint",要求錄入正整數。
能夠驗證的數據類型包括:chinese 中文、user 帳戶、uint 正整數、number 數字、float 浮點數、tel 電話、mobile 移動電話、zip 郵編、email 電子郵箱、idcard 身份證、qq 號、url 網址。
知足任一條件(即或運算):datatype="tel|mobile",只要是電話(固話或手機號)都經過驗證
知足所有條件(即和運算):datatype="uint&zip",既是數字,且是郵編。
七、文件類型限制
<input name="" type="file" fileallow="jpg|png"/>,只容許上傳jpg與png圖片
<input name="" type="file" filelimit="exe|com|bat|js"/>,禁止上傳可執行文件
八、首尾字符驗證
<input name="" type="text" begin="http|https"/>(必須是網址)
<input name="" type="text" end="@qq.com"/>(必須是qq郵箱)
九、正則表達式驗證
<input name="" type="text" regex="\d+"/>(所有爲數字)
默認爲表達式增長^前綴和$後綴,也就是說,默認是要求全字匹配。
十、分組驗證
以下,按鈕與錄入控件的group的值一致,當點擊按鈕時,即實現驗證。
<input type="text" datatype="email" nullable="false" group="a"/>
<input type="submit" name="button" class="button" value="驗證表單" verify="true" group="a" />
分組能夠交叉驗證,如
<p>電話: <input type="text" datatype="mobile|tel" nullable="false" group="a|c">(同時屬於a組和c組) </p> <p> 郵箱:<input type="text" datatype="email" nullable="false" group="b|c" />(同時屬於b組和c組) </p> <input type="submit" name="button" class="button" value="驗證A組和B組" verify="true" group="a|b"/> <input type="submit" name="button" class="button" value="驗證B組和C組" verify="true" group="b|c"/>
十一、驗證方式
默認的驗證方式是點擊按鈕後按順序逐個驗證所在form表單內的全部控件,若是驗證所有經過則觸發form的submit事件,不經過則中斷。
在實際工做中,用戶但願錄入後即驗證,即控件失去焦點後當即進行驗證,沒必要統一提交時驗證。
能夠經過設置form表單的patter屬性爲focus(默認爲submit),即焦點模式。
十二、提示信息樣式設置
提示信息顯示在右側,<input name="" type="text" nullable="false" place="right"/>
設置提示信息的前景色(字體顏色)與背景色,<input type="text" datatype="email" nullable="false"bgcolor="#33f" fgcolor="#FF9"/>
速查表
屬性 | 參數 | 默認值 | 說明 |
---|---|---|---|
nullable | false或true | true | 是否容許爲空,默認是容許,即爲true。當爲false時,控件右側顯會顯示紅色星號。(若是設置star='false'則不顯示) |
star | false或true | true | 是否容許顯示紅色星號,爲false時不顯示。 |
lenlimit | 整數數值,如 lenlimit="5" lenlimit="5-10" |
lenlimit="5",錄入字符最長不得超過5個字符,包括5個 lenlimit="5-10",錄入字符長度爲5至10個字符,包括5與10 |
|
numlimit | 整數數值,如 numlimit="5" numlimit="5-10" 目標控件名稱,如 numlimit="{ctlname}" |
numlimit="5",錄入數值最大不得超過5,包括5個 numlimit="5-10",錄入5至10之間的數值,包括5與10 numlimit="{ctlname}",錄入數值不超過控件名稱爲ctlname的值 |
|
sametarget | 要比較的控件的name值 | 最多見的應用場景就是密碼輸入,此處填寫要比較錄入值的控件的name | |
novalue | 任意值, 支持多個值 用|分隔 |
要求控件的值不得等於某些值,如novalue="1|2",即不得等於1和2。 | |
datatype | chinese 中文 user 帳戶 uint 正整數 number 數字 float 浮點數 tel 電話 mobile 移動電話 zip 郵編 email 電子郵箱 idcard 身份證 qq 號 url 網址 |
驗證錄入的數據是否符合要求的數據類型。 知足任一條件:datatype="tel|mobile",只要是電話(固話或手機號)都經過驗證 知足所有條件:datatype="uint&zip",既是數字,且是郵編。 |
|
fileallow | 文件擴展名 多個名稱用|分隔 |
容許上傳的文件類型。最多見的應用場景是文件上傳 | |
filelimit | 文件擴展名 多個名稱用|分隔 |
禁止上傳的文件類型。最多見的應用場景是文件上傳 | |
begin | 任意字符 多個值用|分隔 |
限定必須以某值開頭,常見的應用場景,如錄入網址,能夠http://開頭或https://開頭。如begin="http|https" | |
end | 任意字符 多個值用|分隔 |
限定必須以某值結尾,end="@qq.com|@163.com",必須是qq郵箱或163郵箱 | |
group | 任意字符 多個值用|分隔 all驗證全部 |
分組驗證。控件與按鈕設置同樣的值,當點擊按鈕時即驗證相關控件,多個組能夠用|線分隔。 支持組的交叉驗證。 若是按鈕上設置group="all",則驗證form中全部控件 |
|
patter | sumbit或focus | sumbit | 控件驗證方式,sumbit是提交時驗證。fcocus是失去焦點時驗證,(更加即時) 該屬性能夠設置在控件上,也能夠設置在form標籤 |
place | top、bottom、left、right | bottom | 提示信息顯示的位置,默認是在下方,當設置爲right時在右側。 該屬性能夠設置在控件上,也能夠設置在form標籤 |
bgcolor | 顏色值 | 紅色 | 提示信息的背景色。 該屬性能夠設置在控件上,也能夠設置在form標籤 |
fgcolor | 顏色值 | 白色 | 提示信息的前景色,即字體顏色。 該屬性能夠設置在控件上,也能夠設置在form標籤 |