首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何允许输入数字类型包含空格和逗号

问如何允许输入数字类型包含空格和逗号
EN

Stack Overflow用户
提问于 2017-08-22 00:02:05
回答 3查看 36K关注 0票数 1

怎样才能允许input type="number"接受像1, 2, 3, 55这样的东西,而不仅仅是普通的带十进制的number。

我尝试使用pattern,但它似乎没有发挥它的魔力,因为它仍然只接受数字和小数。

​

代码语言:javascript
复制
Example:
<input type="number" pattern="[0-9]+([\.,][0-9]+)?">

Desired:
<input type="text" pattern="[0-9]+([\.,][0-9]+)?" value="1, 2, 3, 4">

​

代码语言:javascript
复制
<input type="number" pattern="[0-9]+([\.,][0-9]+)?">
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-08-22 00:15:53

您应该只使用type=text,并使用js对其进行验证/格式化。

​

代码语言:javascript
复制
$('input').on('change, keyup', function() {
    var currentInput = $(this).val();
    var fixedInput = currentInput.replace(/[A-Za-z!@#$%^&*()]/g, '');
    $(this).val(fixedInput);
    console.log(fixedInput);
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text"/>

​

票数 7
EN

Stack Overflow用户

发布于 2017-08-22 00:22:52

你可以使用一个带有正则表达式的常规<input type="text"/>:

​

代码语言:javascript
复制
var input = document.querySelector('input');
input.addEventListener('input', function() {
  this.value = this.value.replace(/[^0-9 \,]/, '');
});
代码语言:javascript
复制
<input type="text"/>

​

正则表达式含义:

代码语言:javascript
复制
[^0-9 \,]    # any character that's not a digit, a space, or a comma
票数 7
EN

Stack Overflow用户

发布于 2017-08-22 00:16:09

看看这个能不能帮到你。模式是正则表达式。查看regex以了解更多定制信息。

代码语言:javascript
复制
<form>
  <input type="text" pattern="([0-9]+.{0,1}[0-9]*,{0,1})*[0-9]" required>
  <input type="submit">
</form>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45801445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档