我在获取正则表达式时遇到了一些问题,该正则表达式满足与列表上的确切数字基数匹配并且数字为正的事实,一开始我正在使用以下内容:
<!DOCTYPE html>
<html>
<body>
<script type="text/javascript">
var patt1=/\b(100|101)/g;
var str="-101";
document.write(str.match(patt1));
document.write("<br/>");
var str="101";
document.write(str.match(patt1));
</script>
</body>
</html>
但我意识到在这种情况下它将返回 101 和 -101 为有效。然后我尝试了
var var patt1=/[^-]\b(100|101)/g;
但是两种情况的结果都是null
,那么
var patt1=/(^-)\b(100|101)/g;
但结果不是 null
,然后 101
是相反的 -101 null
。
我想要 101 而不是 -101 了解如何执行此操作。
最佳答案
您可以使用此正则表达式
var patt1 = /^(100|101)$/;
仅 100
或 101
为有效输入。
但是对于这个简单的测试,我会使用:
if (str === "100" || str === "101")
// Do something.
关于javascript - 正则表达式精确数字且仅限正数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10837207/