帮助改进这个 javascript 输入掩码
功能
- 仅限数字
- 唯一的点 (.)
但是...我需要改进允许用户数字点后仅两个数字
有效示例:
- 121213
- 123450.10
- 12345678910111213.39
当前代码 (改编自这个,不需要保留完全相同的代码...):
<HTML>
<HEAD>
<SCRIPT language=Javascript>
<!--
function isNumberKey(evt,obj){
var containsDot = obj.value.indexOf(".");
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57)){
if(charCode == 46 && containsDot < 0){
return true;
}
return false;
}
return true;
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<INPUT id="txtChar" onkeypress="return isNumberKey(event,this)" type="text" name="txtChar">
</BODY>
</HTML>
Features
- Only numbers
- A unique dot (.)
But...i need improve to allow user digits only two numbers after the dot
Valid examples:
- 121213
- 123450.10
- 12345678910111213.39
The current code (adapted from this, not need to keep exactly the same code...) :
<HTML>
<HEAD>
<SCRIPT language=Javascript>
<!--
function isNumberKey(evt,obj){
var containsDot = obj.value.indexOf(".");
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57)){
if(charCode == 46 && containsDot < 0){
return true;
}
return false;
}
return true;
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<INPUT id="txtChar" onkeypress="return isNumberKey(event,this)" type="text" name="txtChar">
</BODY>
</HTML>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
只需使用正则表达式即可。例如
Just use a regular expression. E.g.
我在这里发布了完整的工作版本: http://jsfiddle.net/georgecalm/NRtVs/ 2/
HTML:
JS:
第一次检查(isStrValid)确保除了数字和点之外没有任何内容。第二个检查模式。
I've posted a fully working version of this here: http://jsfiddle.net/georgecalm/NRtVs/2/
HTML:
JS:
The first checks (of the isStrValid) makes sure you don't have anything but numbers and a dot. The second checks the pattern.
如果它有一个点,但后面没有两位数字,则返回 false。
If it has a dot, but does not have two digits after it, return false.
您可以通过以下方式启动该功能
You can start off the function with