php - 正则表达式 - 排除数字之间的“-”
问题描述
在 php 中,我需要验证来自 textarea 输入的任意数量的正数和/或负数。数字可以是浮点数,并用逗号分隔。
有效的:
",,,66,,78.8,-89.8,,0.0,,3.14," or "," or "67,89,10,0876,,"
在 regex101.com 的帮助下,我创建了这个正则表达式
^((-?\d+(\.\d+)?)|(,+))*$
在php中我有这个代码
if (preg_match("/^((-?\d+(\.\d+)?)|(,+))*$/", $text))
{
echo "yes";
} else
{
echo "no";
}
我的问题是,这个正则表达式也验证“-”和额外的“。” 数之间。
这应该是无效的:
",,67.8,89.8787,78-89,-8,07,,33.33.33,,,"
有人可以帮助如何改进此代码吗?
解决方案
推荐阅读
- android - 模拟器中的 React Native run-android 错误“无法获取 BatchedBridge,请确保您的捆绑包已正确打包”
- django - 如何在相关模型之间添加 CheckConstraint
- android - 当您单击通知中的按钮时,问题是打开生物识别数据或密码输入模式
- c# - 使用 C# 行从数据库中检索 XML 列
- google-chrome - 有没有办法在初始化浏览器时删除 chromedriver 添加的所有默认浏览器功能?
- python-3.x - flask-sqlalchemy 中有没有办法使可继承的属性成为外键?
- java - ArrayList 不满足泛型可序列化列表类型
- javascript - 用 props 设置图片 src
- android - 如何禁止用户关闭触摸外部的警报对话框?
- django - Django - 添加没有默认 ModelAdmin 权限的模型(添加、更改、删除、查看)