如何允许input type="number"
接受1, 2, 3, 55
之类的内容,而不仅仅是带有小数的常规number
。
我尝试使用模式,但似乎没有效果,因为它仍然只接受数字和小数。
Example:
<input type="number" pattern="[0-9]+([\.,][0-9]+)?">
Desired:
<input type="text" pattern="[0-9]+([\.,][0-9]+)?" value="1, 2, 3, 4">
<input type="number" pattern="[0-9]+([\.,][0-9]+)?">
答案 0 :(得分:2)
你应该使用type = text并使用js验证/格式化它。
$('input').on('change, keyup', function() {
var currentInput = $(this).val();
var fixedInput = currentInput.replace(/[A-Za-z!@#$%^&*()]/g, '');
$(this).val(fixedInput);
console.log(fixedInput);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text"/>
答案 1 :(得分:2)
您可以使用常规<input type="text"/>
并在其后面加上一些正则表达式:
var input = document.querySelector('input');
input.addEventListener('input', function() {
this.value = this.value.replace(/[^0-9 \,]/, '');
});
<input type="text"/>
正则表达式含义:
[^0-9 \,] # any character that's not a digit, a space, or a comma
注意:pattern
属性仅阻止表单提交,不会将字符输入限制在输入中。
答案 2 :(得分:0)
看看这是否可以帮到你。模式是正则表达式。查看正则表达式以获得更多自定义。
FCM token for app1: fwjJVG2-T9Q:APA91bG8xVN9S-F4aERzh0GtcLWAqOy3dBPed0vPUE4AS_Jt4rau1bmmhvGPjfQgwBt9krdI9e91GaA04x4PXm4eW9PsG52P-Vt8yeo2woWGl3CP6zE09cT8ouRmOoWBhFfZkLbzbGul
FCM token for app2: fwjJVG2-T9Q:APA91bGggGD0YBZO5tpDqwdYKEbGX4vTSXnhwFoc_lrHbLIIWg1WE4RjTS8NYZ--TX-GkoypuEM4Plb4h41mVcP0uYjvo2dGDO3SNyuo3GrsBRb4ISzoieC_bcJZs5MibLKrET97f49j