2015-08-27 54 views
0

因此,如果我将表单的类型设置为number,则HTML不会接受带加号(+12)的数字作为输入。但它确实接受带负号的数字(-12)。是否有可能让它接受加号?允许在HTML表单上输入'+'号码type =“number”

+0

可以使用图案属性和声明正则表达式像这样图案='[\ +] \ d {2} [\(] \ d {2} [\)] \ d {4} [\ - ] \ d {4}' – user3127896

回答

4

+12不是一个数字,但-12是。您唯一的选择是将其更改为type="text"。无论如何你都不能相信前端验证,并且总是有其他方法(正则表达式等)来验证输入中的字符串是一个数字。这个例子是HTML 5,只支持IE 10+(与type="number"相同)。

<form> 
 
    <input type="text" pattern="[-+]?\d*" /> 
 
    <input type="submit" value="Test" /> 
 
</form>

+1

这并不是一个有用的答案,因为它不回答问题。我也处于需要在电话号码中允许“+”的情况。虽然你是对的,我不能相信前端验证,但我不这样做,如果你想为移动用户制作完美的用户体验,使用类型“数字”是很重要的,因为它会触发手机上的数字键盘。所以基本上我的问题是我希望它从前端不做任何验证。表单标签上的“novalidation”属性似乎也不起作用。 – MahNas92

+1

@ MahNas92如果这是您的目标(这不是问题中提出的问题),请使用['inputmode =“numeric”'](https://developer.mozilla.org/en-US/docs/Web/HTML /元素/输入#ATTR-INPUTMODE)。 – Sam

+0

@Sam谢谢你的建议,但'inputmode =“numeric”'也将文本作为输入。我想要加号(+)和数字到输入字段。任何建议都会有帮助 – Gattsu

相关问题