正则表达式只允许数字,第一个位置有一个"$"和一个小数 - javascript



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

if (/$^d+([.]?d{0,50})?$/.test(value)

基本上我需要一个应该允许的RegEx

only numeric
one decimal point
one $ character

我在现有的表达中添加了$,但这似乎不是解决方案。如何实现以上所有 3 个场景

如果我正确理解了这个问题,这应该有效:

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

此正则表达式将接受"$"值以及带有$前缀的数值。

你似乎在寻找

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

查看正则表达式演示

  • ^- 字符串的开头
  • $?- 可选的$字符(必须转义(
  • d+- 一个或多个数字
  • (?:.d{1,50})?- 匹配 1 次或 0 次匹配的可选非捕获组:
    • .- 一个点
    • d{1,50}- 1 到 50 位数字
  • $- 字符串的结尾。

最新更新