2010-06-07 66 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