为了账号安全,请及时绑定邮箱和手机立即绑定

正则表达式验证中的十进制或数值

正则表达式验证中的十进制或数值

拉丁的传说 2019-07-26 15:24:27
正则表达式验证中的十进制或数值我试图使用正则表达式验证来检查只有十进制值或数值。但是用户输入数值,它不是第一个数字“0”我怎么做?
查看完整描述

3 回答

?
撒科打诨

TA贡献1934条经验 获得超2个赞

1-9范围内的数字,后跟零个或多个其他数字:

^[1-9]\d*$

允许带有可选小数点后跟数字的数字。1-9范围内的数字,后跟零个或多个其他数字,然后可选地后跟一个小数点,后跟至少1位数字:

^[1-9]\d*(\.\d+)?$

笔记:

  • ^$锚的起点和终点基本上是说,整个字符串必须匹配模式

  • ()? 匹配括号之间的整个事物的0或1

处理逗号的更新:

正则表达式.具有特殊含义 - 匹配任何单个字符。按字面匹配.的,你需要一个字符串逃过.使用\.这其中的含义\.在上述正则表达式。因此,如果您想使用逗号,则模式只是:

^[1-9]\d*(,\d+)?$

进一步更新以处理逗号和句号

如果你想允许一个组数字和之间之间的积分和小数部分再试试:

^[1-9]\d{0,2}(\.\d{3})*(,\d+)?$

即,这是1-9范围内的数字,后跟最多2个其他数字,然后是0或更多组完整停止,后跟3位数字,然后可选地使用逗号和数字。

如果你想允许一个数字之间的任何地方然后尝试:

^[1-9][\.\d]*(,\d+)?$

即数字1-9后跟零个或多个数字或句号,可选地后跟逗号和一个或多个数字。


查看完整回答
反对 回复 2019-07-26
  • 3 回答
  • 0 关注
  • 1724 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信