Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正则表达式只允许数字,一'$';在第一个位置和一个十进制-javascript_Javascript_Regex - Fatal编程技术网

正则表达式只允许数字,一'$';在第一个位置和一个十进制-javascript

正则表达式只允许数字,一'$';在第一个位置和一个十进制-javascript,javascript,regex,Javascript,Regex,目前我有一个只允许数字的正则表达式 if (/$^\d+([.]?\d{0,50})?$/.test(value) 基本上我需要一个RegEx,它应该允许 only numeric one decimal point one $ character 我在现有的表达式中添加了$,但这似乎不是解决方案。如何实现上述三种方案如果我正确理解了问题,这应该是可行的: /^(\$|\$\d+(\.\d{0,50})?)$/ 此正则表达式将接受一个值“$”,以及一个前缀为$的数值。您似乎在寻找 /^\$

目前我有一个只允许数字的正则表达式

if (/$^\d+([.]?\d{0,50})?$/.test(value)
基本上我需要一个
RegEx
,它应该允许

only numeric
one decimal point
one $ character

我在现有的表达式中添加了
$
,但这似乎不是解决方案。如何实现上述三种方案如果我正确理解了问题,这应该是可行的:

/^(\$|\$\d+(\.\d{0,50})?)$/

此正则表达式将接受一个值
“$”
,以及一个前缀为
$
的数值。

您似乎在寻找

/^\$?\d+(?:\.\d{1,50})?$/

详细信息

  • ^
    -
  • \$?
    -可选的
    $
    字符()
  • \d+
    -一个或多个数字
  • (?:\。\d{1,50})
    -一个可选的非捕获组,与下列事件的1或0次匹配:
    • \。
      -一个点
    • \d{1,50}
      -一到五十位数字
  • $
    -

如果(/^\d+(?:\.\d+)\$?$?$/.test(value)){/*good*/}
?@WiktorStribiżew似乎不起作用。你有有效的例子吗?。没有问题。它只匹配一个数值和一个
$
字符(在末尾)。你需要什么?@WiktorStribiżew谢谢你的时间。我想把$放在第一位。我已经更新了
regex
,也尝试了这个/^\$\d+(\.\d+)/