我有用于验证文本字段编号的代码。
此代码工作正常,但唯一的问题是它不允许我输入.
(点)。
我的文本域是金额,金额可以是222.234234,或222
那么我应该添加什么代码才能让用户输入具有以下scrits的句点
function ValidateNum(input,event)
{
var keyCode = event.which ? event.which : event.keyCode;
if((parseInt(keyCode)>=48 && parseInt(keyCode)<=57) || parseInt(keyCode)==08 || parseInt(keyCode)==09 || parseInt(keyCode)==127 )
{
return true;
}
return false;
}
文本字段
<input type="text" name="from_amount" onkeypress="return ValidateNum(this,event)" id="from_amount" placeholder=" Type to convert" />`
所以请帮我解决这个问题。
答案 0 :(得分:1)
.
的密码为190
您可以在此处查看此列表 - &gt; http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes
答案 1 :(得分:1)
为什么不验证整个字符串而不是验证每个输入的字符?
这样做:
//I am assuming that input is the text element
function validateNumber(input) {
//newer browsers should have .trim(). Otherwise you can do something like:
// input.value.replace(/^\s+|\s+$/g, "");
return /^\d+(\.\d+)?$/.test(input.value.trim());
}
当用户仅输入.
字符时,您当前的验证功能是否会考虑?多个.
个字符怎么样?价值123.
,1.43.3
或1..2
怎么样?看起来当前函数只验证输入的字符而不查看该字符的上下文(即它周围的内容)。
另外请注意,考虑使用jQuery或绑定到input元素而不是使用onkeypress
属性。这种绑定方法或多或少已弃用,不推荐使用。此验证方法还可以防止可能令人困惑的按键事件。最好在填写后填写整个表单进行验证,或者将文本字段标记为无效,因为它们正在写入。
您还可以使用type
而不是number
的HTML5 text
值来约束用户可以输入到该字段的内容。这样你甚至不需要做任何验证。