Javascript 无法将输入作为“输入”;点“;在文本字段中
我有这个验证文本字段号的代码 此代码工作正常,但唯一的问题是它不允许我输入Javascript 无法将输入作为“输入”;点“;在文本字段中,javascript,jquery,html,Javascript,Jquery,Html,我有这个验证文本字段号的代码 此代码工作正常,但唯一的问题是它不允许我输入(点)。 我的文本字段代表金额,金额可以是222.234234或222 那个么,我应该添加什么代码,以便用户能够用下面的纸条输入句点呢 function ValidateNum(input,event) { var keyCode = event.which ? event.which : event.keyCode; if((parseInt(keyCode)>=48 &am
(点)。
我的文本字段代表金额,金额可以是222.234234或222
那个么,我应该添加什么代码,以便用户能够用下面的纸条输入句点呢
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;
}
函数validateEnum(输入、事件)
{
var keyCode=event.which?event.which:event.keyCode;
如果((parseInt(keyCode)>=48&&parseInt(keyCode)
您可以在此处查看此列表->为什么不验证整个字符串,而不是验证每个输入的字符
这样做:
//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
?看起来当前函数只验证输入的字符,而不查看上下文该字符的t(即,它周围的内容)
另一个注释,考虑使用jQuery或绑定到输入元素,而不是使用<代码> OnKePress < /Cord>属性。绑定方法或多或少是不推荐的,也不推荐。这种验证方法可以防止按键事件发生混淆。r他们已经填写了,或者在填写时将文本字段标记为无效
您还可以使用HTML5类型
数值
而不是文本
来限制用户可以在该字段中输入的内容。这样您甚至不必进行任何验证。允许键码
190。尽管您必须小心,但“Shift”键没有被按下,这将导致“>”如果您使用的是jQuery
,则不需要规范化事件
或keyCode
。不要试图阻止按键事件-这只会导致错误的用户体验!相反,请验证输入值。这不包括是否按下了Shift键(这会导致不同的字符)你能给出里面的完整脚本吗。
@我更新了我的问题。请给我完整的代码,我无法理解你的代码。我是新来的javascript@Ashutosh我已经更新了我的答案;它应该非常简单。没有必要在事件中传递@Ashutosh它将是sa我,除非你不会传递事件
;只传递这个
。但我不能强调为什么不推荐这种方法。我使用了这个
,但是你的代码不允许我按任何代码。为什么?
//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());
}