2010-06-07 63 views
0

我有一個文本框。用戶將輸入在此框中輸入的數字。用戶應該輸入兩個數字後跟一個句點「。」。和另一個數字。它看起來像22.3或00.5或01.2。使用javascript驗證文本框的值

如果文本框不是空的,我想強制執行一個函數來驗證用戶輸入的值(並且如果輸入的值不符合上面提到的格式,會給他們一個警報)。該函數需要當文本框失去焦點時觸發。我不知道如何繼續寫這個函數,因爲我還是這個新手。 任何幫助,將不勝感激。提前感謝。

ps此函數應該在每次值發生變化時觸發。假設用戶輸入值22,那麼當文本框失去焦點時,應該觸發javascript函數,讓他們發出警報,詢問用戶將其更改爲22.0的可接受格式。當文本框失去焦點(更改完成後)時應該再次觸發該功能。此時不會有警報,因爲用戶以正確的格式輸入了它。

+0

如果你不adversed到使用jQuery,這使得它非常簡單: http://docs.jquery.com/Plugins/Validation 然後,你可以線了客戶端事件處理程序(如「$ (#mytextbox).change(函數{)並調用.validate函數 – RPM1984 2010-06-07 02:32:34

回答

0

原諒原型特定的代碼,但也許你會得到它的要點。您需要聽取textarea的「onblur」事件,然後使用正則表達式驗證輸入的值。

Event.observe('textboxId', blur, function() { 
    var val = $F('textboxId'); 
    if (/^\d{2}\.\d$/.test(val)) { 
    alert('Invalid value'); 
    } 
}); 

如果你不熟悉任何JavaScript框架,只想得到這個工作,試試這個:

<textarea onblur="validate(this.value);"></textarea> 

<script type="text/javascript"> 
function validate(val) { 
    if (/^\d{2}\.\d$/.test(val)) { 
    alert('Invalid value'); 
    } 
} 
</script> 

純粹主義者,請不要懲罰我添加此。

+0

謝謝lauri,我要試試這個。 – swathi 2010-06-07 03:16:04