检查输入字符串

时间:2015-10-05 12:59:24

标签: javascript regex node.js

我尝试过很多正则表达式,但它仍然无效。请告诉我可能出错的地方:

  1. 我接受用户的输入(期望它只是数字)。
  2. myArray = str.replace(/\s+/g,"").split(""); //remove any spaces if present & split each character
  3. if(/^[0-9]/.test(myArray)) console.log("Make sure you enter all number"); else console.log("Successful");
  4. 如果在输入(str)之后给出输出:

    • 455e5 7523 1455 - > “确保输入所有数字”

    • 4555 2375 2358 - > “确保输入所有数字”而不是“成功”

    我尝试了/^[0-9]+//^\d+$//(^\d)*/以及许多类似的表达方式。它没有帮助我。 是因为split()因为我已将其删除并尝试过。

1 个答案:

答案 0 :(得分:0)

使用if(/\D/.test(myArray)) console.log("Make sure you enter all number"); else console.log("Successful"); 匹配非数字字符

function test(myArray) {
  if (/\D/.test(myArray.replace(/\s+/g,"")))
    console.log("Make sure you enter all number");
  else
    console.log("Successful");
}

DEMO:



<input oninput="test(this.value)" />
&#13;
[^\d\s]
&#13;
&#13;
&#13;

或者您可以使用function test(myArray) { if (/[^\d\s]/.test(myArray)) console.log("Make sure you enter all number"); else console.log("Successful"); }来匹配除数字和空格之外的字符

&#13;
&#13;
<input oninput="test(this.value)" />
&#13;
{{1}}
&#13;
&#13;
&#13;