根据https://regex101.com/ regexp '^[-+]?[0-9]*\.?[0-9]$'
对于“g2”,“a8”等字符串(一个数字前面加一个字母)应返回“false”(不匹配),但如果我使用它在JavaScript中使用RegExp
test
方法返回“true”。这种行为的原因是什么?
<!DOCTYPE html>
<html>
<body>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
function myFunction() {
var str = "g2";
var patt = new RegExp('^[-+]?[0-9]*\.?[0-9]$');
var res = patt.test(str);
document.getElementById("demo").innerHTML = res;
}
</script>
</body>
</html>