我正在尝试创建一个只接受以下
值的正则表达式1
1.1
.1
1,1
,1
1/1
11
111
1111
and so on...
或者:一个数字后跟一个点或一个逗号或一个斜杠和一个数字。
\d*(?:\.|\,|\/)\d
使用这个正则表达式我只捕获1.1。1,1,1,1但我无法捕获用户是否只输入一个数字,例如1或11或任何具有未知位数的整数。
答案 0 :(得分:4)
答案 1 :(得分:2)
这是我认为符合您需求的简短版本:
\d?[.,\/]?\d+
模式是
\ d? :一个可选数字,匹配1.1,1 / 1或1,1。如果1111.1111等有效,请更改为\ d *
[。,/]? :可选的单个句点,逗号或斜杠
\ d +:一个或多个数字。
读取&#34;或点(...)和末尾的数字&#34;,这可能更准确(也许你的意思是点/斜杠/逗号之后只有一位数?)< / p>
\d*[.,\/]?\d
哪个是
\ d *:任意数量的数字
[。,/]?:可选的分隔符
\ d:一个数字
答案 2 :(得分:0)
答案 3 :(得分:0)
如果要验证按键上的用户输入或其他内容,
你也需要这个表格1,
。
这应涵盖所有基础。
# ^(?:\d+(?:[.,/]\d*)?|[.,/]\d+)$
^
(?:
\d+ # Forms 1 or 1, or 1,1
(?: [.,/] \d* )?
| # or,
[.,/] \d+ # Form ,1 only
)
$