我想通过使用+符号继续使用数字来验证reactjs表单中的数字。
例如,当我输入" + 9829"并输入submit然后验证应该有效。
这是我的正则表达式验证码:
if(!(/(\+)?\d+/g.test(checkValidPhone)))
(\+)?\d+/g
此RegExp在Chrome和IE中正常运行,但在Mozilla中运行不正常,因为在Mozilla中+符号未经过验证。
请参阅this Plunkr demo。
任何有任何建议的人?
答案 0 :(得分:0)
在Firefox中尝试并测试以下代码,因为它对我来说运行正常。
请注意,要将字符串验证为数字后跟+
,您必须使用锚^
和$
,否则.test()
将适用于其他无效案例例如+900n
。
function myFunction() {
var str = document.getElementById('num').value;
//look for "+" followed by digits
var patt = /^(\+)?\d+$/;
var result = patt.test(str);
document.getElementById("demo").innerHTML = result;
}

<!DOCTYPE html>
<html>
<body>
<p>Do a number followed by + :</p>
<input type="text" id="num">
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
</body>
</html>
&#13;