关闭

正则表达式-验证带千分号的,带任意位小数的数字类型

标签: 正则表达式
2606人阅读 评论(6) 收藏 举报
分类:

想写一个正则表达式,验证带千分号的,带任意位小数的数字类型


网上找来找去找到几个都不行,然后根据下面两个自己组装了一下,终于成功:

^[-+]?(\d+(\.\d*)?|\.\d+)[dD]?$          可以带正负号的,任意位小数的实数

(\d*(,\d{3})*(.(\d{3},)*\d+)?)              不带正负号,可以带任意位小数的实数,但是有bug,如果给小数写上千分位,也能通过验证


第一次优化

^[-+]?(\d*(,\d{3})*(.(\d{3},)*\d+)?|\.\d+)[dD]?$     bug依旧

第二次优化

^[-+]?(\d*(,\d{3})*(.\d+))[dD]?$   bug消除了

最后试了试貌似这样也可以

^[-+]?(\d*(,\d{3})*.(\d+)?)


最终解决方案,暂时还没有发现bug

^[-+]?(\d*(,\d{3})*.(\d+)?)


2017.1.4

谢谢网友指出的bug,下面是新方案:

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


0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

#正则表达式#数值加上千分符

#正则表达式#数值加上千分符 '1234567890.12'.replace(/(\d)(?=(\d{3})+(\.|$))/g, '$1,')==='1,234,567,890.12' 缺点:小...
  • CaiKanXP
  • CaiKanXP
  • 2016-05-13 11:48
  • 1773

正则表达式-匹配货币

最近我在学习正则表达式,写了匹配货币的: ☆有两种验证方法: 第一种货币中不带“,“ ((^[-]?([1-9]\d*))|^0)(\.\d{1,2})?$|(^[-]0\.\d{1,2}$) 第二...
  • loveyoo
  • loveyoo
  • 2016-08-12 14:02
  • 2835

用正则表达式实现千分位分隔符

原创文章,转载请注明:http://blog.csdn.net/chang_yuan_2011/article/details/46836045 千位分隔符就是在数字中,每隔三位数加进一个逗号,实现...
  • chang_yuan_2011
  • chang_yuan_2011
  • 2015-07-10 23:17
  • 7885

用正则表达式实现千分位分隔符

原创文章,转载请注明:http://blog.csdn.net/chang_yuan_2011/article/details/46836045 千位分隔符就是在数字中,每隔三位数加进一个逗号,实现...
  • chang_yuan_2011
  • chang_yuan_2011
  • 2015-07-10 23:17
  • 7885

JAVA数字千分位和小数点的现实(处理金额问题)

JAVA数字千分位和小数点的现实(处理金额问题)
  • qq_28867949
  • qq_28867949
  • 2017-06-01 15:51
  • 2603

iOS 正则表达式判断纯数字以及匹配11位手机号码

1用正则表达式 //是否是纯数字 + (BOOL)isNumText:(NSString *)str{ NSString * regex = @"(/^[0-9]*$/)"; ...
  • yusirxiaer
  • yusirxiaer
  • 2016-11-15 15:05
  • 5343

JQuery数字类型验证正则表达式

有朋友整了一些关于js与jquery的数字类型验证正则表达式代码,下面我给大家再整理一下这里包括了数字验证实现与测试实例了,大家可参考。 js验证数字正则表达式
  • lc2470348636
  • lc2470348636
  • 2014-06-09 10:53
  • 594

JQuery数字类型验证正则表达式

js验证数字正则表达式 function istrue(a){  var reg=/^(([a-z]+[0-9]+)|([0-9]+[a-z]+))[a-z0-9]*$/i;  return re...
  • s_listen
  • s_listen
  • 2015-08-11 14:45
  • 13698

转 一些关于js与jquery的数字类型验证正则表达式代码

js验证数字正则表达式  代码如下 复制代码 function istrue(a){ var reg=/^(([a-z]+[0-9]+)|([0-9]+[a-z]+))...
  • lifeng_beijing
  • lifeng_beijing
  • 2014-08-27 11:45
  • 600

C#正则表达式文本框验证:只能输入整数和带两位小数的小数

  • 2014-06-22 18:14
  • 292KB
  • 下载
    个人资料
    • 访问:195855次
    • 积分:2031
    • 等级:
    • 排名:千里之外
    • 原创:65篇
    • 转载:23篇
    • 译文:1篇
    • 评论:122条
    文章分类
    最新评论