Javascript 当数字输入字段中有点或逗号时,jQuery val()返回空字符串

Javascript 当数字输入字段中有点或逗号时,jQuery val()返回空字符串,javascript,jquery,Javascript,Jquery,我认为这取决于操作系统中的数字设置。但是:对我来说,我可以在输入字段中输入点。对于我的申请来说,这是不需要的。我想禁用小数,以及所有不是数字的东西 另外,jquery不会检测数字字段中的点 看起来像这样: HTML: 请在第一个输入框中键入一些点。然后单击输入框外以触发更改事件 Javascript: $('input').on('change', function(){ $('.result').html( 'First input val: ' + $('input').fi

我认为这取决于操作系统中的数字设置。但是:对我来说,我可以在输入字段中输入点
。对于我的申请来说,这是不需要的。我想禁用小数,以及所有不是数字的东西

另外,jquery不会检测数字字段中的点

看起来像这样:

HTML:

请在第一个输入框中键入一些点。然后单击输入框外以触发更改事件

Javascript:

$('input').on('change', function(){

  $('.result').html(
  'First input val: ' + $('input').first().val() + "<br/>" + "Second input val: "
  +   $('input').last().val()
);
})
$('input')。在('change',function()上{
$('.result').html(
'第一个输入值:'+$('input')。第一个().val()+“
”+“第二个输入值:” +$('input').last().val() ); })
您可以使用输入标记的
模式
属性

^\d+$
  • ^
    -字符串的开头
  • \d+
    -一次或多次匹配任何数字
  • $
    -字符串结尾


提交
尝试更改上述html输入元素type=“number”-->type=“text”

jQuery只返回浏览器告诉它的内容。这里的问题是什么?@charlietfl嗯,有人不知何故能够在一个只输入数字的字段中提交一个
。问题是,如何确保不会发生这种情况?请记住,不同的地区有不同的数字格式。无论您在客户端做什么,都要由您来验证服务器端。用户输入永远不可信,甚至可以完全绕过您的表单。不过请注意,
type=number
确实允许:
e
-
+
@Mukyuu可以轻松更改。删除dev工具中的type属性并在其中放入任何内容都很简单。这只是一种方便…不是一件确定的事
^\d+$
Try to change the above html input element type="number" --> type="text"
<input type="number" name="firstInput" value="....">
<input type="text" name="firstInput" value="....">