只有JS验证号码?

时间:2017-11-07 03:26:14

标签: javascript

我有5个文本框我会得到价格我如何验证这些文本框上只有数字如果有一封信我想在提交时发出提醒。 我怎么能这样做,请帮助我对这些东西不熟悉

<input type="text" id="sellingPrice"><br>
<input type="text" id="basicPrice"><br>
<input type="text" id="latestBuyingPrice"><br>
<input type="text" id="ReorderQuantity"><br>
<input type="text" id="reorderLevel"><br>

<button id="save_P" type="button" class="save-button-text save-button displayShow" onclick="submitDetails()">

如何在submitDetails()方法

中使用数字验证

4 个答案:

答案 0 :(得分:0)

您可以添加type =&#34; number&#34;属性输入标签。

答案 1 :(得分:0)

这是一个非常常见的问题,但有几种方法可以解决它:

  1. 使用正则表达式验证
  2. 尝试解析数字并检查isNaN(parsedResult)是否返回true
  3. 到目前为止,我认为最常见的方法是var num = parseFloat(StringNumberFromTextbox), isValidNumber = (!isNaN(num) && isFinite(num));

    如果您使用RegEx路线,则可以使用:var rNumPattern=/^\d+(\.\d+)?$/, isValidNumber = rNumPattern.test(StringNumberFromTextbox);

    您也可以考虑使用逗号或句号的替换来检查负/正号和千位分隔符(适用于语言环境/客户)。

    当然,如果您将表单上的内容提交给某些后端处理器,那么最好在服务器端再次检查这些数字,而不是盲目地相信客户端提供的有效数字只是因为您的JavaScript应该做了检查。以免最终出现SQL漏洞等。

答案 2 :(得分:0)

您可以使用JavaScript的isNaN(value)内置功能进行检查。

你的功能可能是这样的:

    function submitDetails() {

      var val = document.getElementById("sellingPrice").value;

      if (isNaN(val)) {
        // show alert here
      }
    }

答案 3 :(得分:0)

在submitDetails()中使用以下代码。

var sellingPrice=document.getElementById("sellingPrice").value;
//repeat above code for all field.
if(Number.isInteger(sellingPrice) == false){
 alert('wrong value entered');
}
//repeat above if code for all value.

这将做你想要的。