2013-07-17 61 views
7

在給定的領域的EditText顯示它的錯誤輸入的時候會不會有人把IP adsress的incorrent IP地址格式應該是這樣的000.000.0.000 PLZ幫我出如何驗證形式的模式提交

在HTML5中: -

<div data-role="content"> 
    <form id="form"> 
     <div data-role="fieldcontain"> 
        <label for="ip">IP Address/System Name</label> 
        <input name="ip" id="ip" type="text" pattern="((^|\.)((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]?\d))){4}$">      
     </div> 
     <div style="text-align:center;">     
        <div data-role="button" data-theme="b" data-inline="true" id="button1">Update</div> 
     </div> 
</div> 
+1

HTML5模式驗證的作品完美,但它的工作,你必須提交表單,但從你的代碼我可以看到,你使用div來調用一個javascript函數,所以在那個函數手動調用提交 –

回答

9

對於HTML5的驗證工作的提交,你必須把requiredinput領域屬性,您想要使用HTML5進行驗證,並且您必須提交表單。

您可以處理通過JavaScript提交表單數據,以及櫃面你想處理提交的數據手動,那麼你必須在你指定data-ajax="false"form標籤

爲您的代碼,試試這個

<div data-role="content"> 
<form id="form" data-ajax="false"> 
    <div data-role="fieldcontain"> 
       <label for="ip">IP Address/System Name</label> 
       <input name="ip" id="ip" type="text" required pattern="((^|\.)((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]?\d))){4}$">      
    </div> 
    <div style="text-align:center;">     
       <input type="submit" value="Submit button" /> 
    </div> 
</form> 
</div> 

而且在JavaScript,你可以這樣做

$("#form").submit(function(e){ 
    e.preventDefault(); 
    //call your method 

}); 
+0

子網掩碼怎麼樣? –

2

一條路線,你可以去使用mask.js - 在你的情況,你可以把它強制用戶輸入他們的數據以正確的格式,預填充「」字符,並停止用戶輸入非數字值。

Mask.js

這裏是一個小提琴 - http://jsfiddle.net/QF9Lz/2/

單擊文本框,你會看到一個格式化面具出現,你只能在你指定的格式輸入數值。

所以,一旦您在頭mask.js,可以初始化輸入掩碼是這樣的:

$(document).ready(function() { 
    $('#ip').mask('999.999.9.999'); 
}); 
+1

在jquery移動它將工作 –

+0

bcoz它不工作在jquery mobile –

+0

idk還沒有嘗試過它,你是否正常執行工作? – digiliooo

-1

我做了這個正則表達式地址/掩碼 例如:10.0.0.0/8

((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]?\d))((^|\.)((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]?\d))){3}\/([1-2][0-9]|[0-9]|3[0-2])$ 
如果你想使用的地址只是正則表達式

((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]?\d))((^|\.)((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]?\d))){3}$