Regex 带逗号的整数的正则表达式模式

Regex 带逗号的整数的正则表达式模式,regex,Regex,模式 $test = preg_match('/^(?=.\d)\d(?:\.\d\d)?$/', $_float1); 火柴 0.25 2.55 1253.36 45.55 如何修改它以接受整数部分之间的逗号? 例如1253.36?您可以使用以下模式: /^\d*(,?\d{3})*(\.\d+)?$/ 您可以使用以下模式: /^\d*(,?\d{3})*(\.\d+)?$/ 您可以使用此正则表达式: ^\d+(?:,\d{3})*(?:\.\d\d)?$ 您可以使用此正则表达式:

模式

$test =  preg_match('/^(?=.\d)\d(?:\.\d\d)?$/', $_float1);
火柴

0.25
2.55
1253.36
45.55
如何修改它以接受整数部分之间的逗号?
例如1253.36?

您可以使用以下模式:

/^\d*(,?\d{3})*(\.\d+)?$/

您可以使用以下模式:

/^\d*(,?\d{3})*(\.\d+)?$/

您可以使用此正则表达式:

^\d+(?:,\d{3})*(?:\.\d\d)?$

您可以使用此正则表达式:

^\d+(?:,\d{3})*(?:\.\d\d)?$

我会用这个:

/^\d{1,3}(?:(,?)\d{3}(\1\d{3})*)?(?:\.\d{2})?$/
解释:

^\d{1,3}:以1到3位数字开始 ?:,?\d{3}\1\d{3}*?:[可选]重复XXX或,XXX模式仅其中一个,以排除像11111这样的数字 ?:\。\d{2}?:[可选]精确到小数点后两位 美元:就是这些人 匹配项:

1-12-123-1234-12345 1,234 - 12,345 - 123,456 - 1,234,567 1.23 - 12.34 - 123.45 - 1234.56 - 12345.67 1234.56-12345.67-123456.78-1234567.89

不匹配:

.1-.12-.123 1.2 - 1.234 - 1.2345 12,34 - 123,45 - 1,2345 - 1,2,345 - 1234,567
12,34.56-123,45.67-12345.78

我会用这个:

/^\d{1,3}(?:(,?)\d{3}(\1\d{3})*)?(?:\.\d{2})?$/
解释:

^\d{1,3}:以1到3位数字开始 ?:,?\d{3}\1\d{3}*?:[可选]重复XXX或,XXX模式仅其中一个,以排除像11111这样的数字 ?:\。\d{2}?:[可选]精确到小数点后两位 美元:就是这些人 匹配项:

1-12-123-1234-12345 1,234 - 12,345 - 123,456 - 1,234,567 1.23 - 12.34 - 123.45 - 1234.56 - 12345.67 1234.56-12345.67-123456.78-1234567.89

不匹配:

.1-.12-.123 1.2 - 1.234 - 1.2345 12,34 - 123,45 - 1,2345 - 1,2,345 - 1234,567
12,34.56-123,45.67-12345.78

为什么设置JavaScript标记?在我看来,这更像是PHP。潜在的重复:和,但还有许多其他类似的问题。@是的,它的PHP我将删除标记!为什么要设置JavaScript标记?在我看来,这更像是PHP。潜在的重复:和,但还有许多其他类似的问题。@是的,它的PHP我将删除标记!