我需要数值的php正则表达式,包括“-”和“,”
Posted
技术标签:
【中文标题】我需要数值的php正则表达式,包括“-”和“,”【英文标题】:I need php regular expression for numeric value including "-" and "," 【发布时间】:2011-08-09 10:24:06 【问题描述】:在 php is_numeric 函数中不允许使用 '-' 和 ','。
【问题讨论】:
您可以在此处找到有关此内容以及更多信息:regular-expressions.info 如果您提供了它应该接受/解析的示例 - 十六进制可能会更有帮助?科学计数法? ',' 是否仅用作 000 分隔符? 【参考方案1】:这个应该可以的:
preg_match("#^-?\d+(,\d+)?$#", "-1,2", $match);
匹配一个或多个数字:
"#\d+#"
可选地匹配一个逗号后跟一个或多个数字:
"#\d+(,\d+)?#
可选地匹配一个“-”号:
"#-?\d+(,\d+)?#"
只允许这个,不允许别的:
"#^-?\d+(,\d+)?$#"
【讨论】:
【参考方案2】:is_numeric()
确实允许负数。我认为问题出在逗号上。
is_numeric( str_replace( ',', '.', $number ) );
另见Converting a number with comma as decimal point to float
【讨论】:
【参考方案3】:试试这个表达式
^[0-9 ,-]+$
【讨论】:
以上是关于我需要数值的php正则表达式,包括“-”和“,”的主要内容,如果未能解决你的问题,请参考以下文章