javascript - 正则表达式精确数字且仅限正数

标签 javascript regex

我在获取正则表达式时遇到了一些问题,该正则表达式满足与列表上的确切数字基数匹配并且数字为正的事实,一开始我正在使用以下内容:

<!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)$/;

100101 为有效输入。

但是对于这个简单的测试,我会使用:

if (str === "100" || str === "101")
    // Do something.

关于javascript - 正则表达式精确数字且仅限正数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10837207/

相关文章:

javascript - 我无法使用 multer 和express 上传图像

javascript - javascript中循环子节点

regex - 如何替换 python 正则表达式中的部分组?

javascript - 为什么这个正则表达式作为 var pattern =/.../而不是作为 var pattern = RegExp ("...")?

javascript - 使用 d3 加载本地 JSON 文件

javascript - 我不明白 JavaScript 中的 this 关键字

python正则表达式查找至少包含一个字母的字母数字字符串

Regex/Ruby - 分割保留分隔符

Java:检查字符串是否以特殊字符结尾或开头

javascript - Apple 是否发布了用于 touch bar 的 API?