如何在输入类型中检索任何插入的字符串' number'在HTML中

时间:2014-10-01 10:30:48

标签: javascript html5 validation input

有没有办法从(

)获取插入的字符串(任何种类)
<input type="number" id='zipCode' name='zipcode' />

我试图在控制台中获得价值:

console.log(document.getElementbyId('zipCode').value);
当插入任何无效字符串(包含任何字母或其他特殊字符的字符串)时,

仅提供空白输出,当实际将字段留空时也是相同的。但我想检索实际插入的值,以便我可以区分并验证空白字段,并显示错误消息&#34; Zipcode Field Empty!&#34; 以及带有错误消息的无效字符串< strong>&#34;邮政编码无效!&#34; 。 有没有办法从输入类型中检索任何类型的插入字符串=&#39; number&#39;场?

2 个答案:

答案 0 :(得分:4)

用于邮政编码的HTML输入字段应为type = text,并使用pattern属性为浏览器提供提示

数字邮政编码 - 在很小程度上 - 具有误导性。

数字应该意味着数字。邮政编码不会添加或减少或参与任何数字操作。 12309 - 12345不计算从斯克内克塔迪市中心到我家附近的距离。

邮政编码不是数字 - 它们恰好用限制字母编码 - 我建议避免使用数字字段。同样适用于信用卡或社交号码

你可以<input type="text" pattern="\d*">。这将导致数字键盘出现在iOS(和Android?)上。也许是pattern="[0-9]*"

  

“文本字段的语义正确标记仍然可以   包含空格和其他特殊字符<input type="text" inputmode="numeric"/>但是据我所知,当inputmode是   由WhatWG推荐,任何浏览器都不支持它。它的   意图是在设备上向用户显示数字小键盘   拥有它,但仍然表现为文本输入。“ - davidelrizzo

答案 1 :(得分:1)

从我记得的内容(例如此处 - HTML5 input type=number value is empty in Webkit if has spaces or non-numeric characters?)开始,无法在输入类型设置为数字的情况下执行此操作。