Javascript 删除美元匹配正则表达式

Javascript 删除美元匹配正则表达式,javascript,php,regex,Javascript,Php,Regex,我一直在使用这个正则表达式来验证美元金额输入 parsley-regexp="^\$?[0-9][0-9\,]*(\.\d{1,2})?$|^\$?[\.]([\d][\d]?)$" 我不想再允许$符号,只允许有效金额。我需要做哪些更改?简单删除\$?(可选的转义美元符号-您需要转义它,因为$是保留的正则字符): 要从表达式中删除$validation,请使用以下命令: parsley-regexp="[0-9][0-9\,]*(\.\d{1,2})?$|[\.]([\d][\d]?)$"

我一直在使用这个正则表达式来验证美元金额输入

parsley-regexp="^\$?[0-9][0-9\,]*(\.\d{1,2})?$|^\$?[\.]([\d][\d]?)$"

我不想再允许$符号,只允许有效金额。我需要做哪些更改?

简单删除
\$?
(可选的转义美元符号-您需要转义它,因为
$
是保留的正则字符):


要从表达式中删除$validation,请使用以下命令:

parsley-regexp="[0-9][0-9\,]*(\.\d{1,2})?$|[\.]([\d][\d]?)$"
但是,您可能希望修正表达式,使其只接受有效的货币输入。例如:

parsley-regexp="^\$?((\d{1,3}(\,\d{3})*)|(\d+))(\.\d{1,2})?$";
积极结果:$1234456.00 |$1.5 |$1,00

负面结果:$1,23 |$1,,,.24

这就是它的工作原理

^\$?                 - begins with one $ symbol
((\d{1,3}(\,\d{3})*) - has 1-3 digits, followed by 1 or more occurrences of 'comma and 3 digits'
|(\d+))              - Or look for 1 or more digits
(\.\d{1,2})?         - one or more occurrences of . followed by 1-2 digits
要去掉$sign,只需删除
^\$?

parsley-regexp="((\d{1,3}(\,\d{3})*)|(\d+))(\.\d{1,2})?$";

我想
\$
之后的
应该作为well@donfuxx当然-你完全正确,
/^?
毫无意义。你的正则表达式匹配
$1、、、、2、3.44
,我建议你查找一些基础知识,而不是盲目复制代码。非常感谢。正是我想要的。由于时间限制,这对我帮助很大。你深思熟虑的回答真的鼓励我在有更多时间的时候学习这一点。。。。
parsley-regexp="((\d{1,3}(\,\d{3})*)|(\d+))(\.\d{1,2})?$";