正则表达式表示负十进制数和正十进制数



我正在尝试使用 javascript for react 应用程序创建一个正则表达式,该表达式允许负十进制数和正十进制数,并且不允许输入任何字符。

我一直在寻找示例,阅读文档,但我不知道如何制作。

以下是必须做的事情:

允许负十进制数和正十进制数,我发现这个:

var re = new RegExp("^[+-]?[0-9]{0,900}(?:.[0-9]{0,900})?$");

但我可以写一个角色,给我看真,加其他字,给我看假。console.log(re.test(value));

if 是十进制并以零开头,显示零 (0.232( 并且不允许这样做 (.232(

不允许写字符,我已经看到了这个/^d*$/

查看有关 RegExp 的文档,它指出在使用构造函数时,正常的字符串转义规则(在字符串中包含 \ 时在特殊字符之前(是必需的。

然后,您的正则表达式将匹配一个点,该点将匹配任何字符,例如a有效,因为前面的[0-9]{0,900}匹配零 - 900 次。

您的正则表达式将变为:

var re = new RegExp("^[+-]?[0-9]{0,900}(?:\.[0-9]{0,900})?$");

要匹配不应以点开头的负十进制数和正十进制数,您可以使用:

^[+-]?[0-9]+(?:.[0-9]+)?$

这将匹配字符串^的开头,一个可选的[+-]?,一个或多个数字[0-9]+后跟一个可选部分,该部分将匹配一个点和一个或多个数字(?:.[0-9]+)?然后是字符串的末尾$

var re = new RegExp("^-?[0-9]+(?:\.[0-9]+)?$");

var re = new RegExp("^[+-]?[0-9]+(?:\.[0-9]+)?$");
var strings = [
"1",
"1.2",
"0.232",
".232",
"-1.2",
"+1.2"
];
strings.forEach((s) => {
console.log(s + " ==> " + re.test(s));
});

我使用这个:

^-?[0-9]d*(.d+)?$
  • 只有数字
  • 正面和负面
  • 不允许.232

相关内容

  • 没有找到相关文章

最新更新