我发现自己的正则很不熟悉,决定每天练一遍这道题。
2018-03-12 23:41
225 查看
题目出自ScriptOJ
1. 以 $ 开头
2. 如果是小数,保留两位小数;如果不是小数则不显示小数部分
3. 整数部分从小数点上一位开始每隔三位用 , 分割开来
4. 如果整数部分从数字 0 开始,则只会显示一位 0
例如:
我居然写出了……
以后要每天写一遍
判断美元符号格式
完成一个函数 isUSDFormat 返回 true/false 来判断一个字符串是否符合美元格式:1. 以 $ 开头
2. 如果是小数,保留两位小数;如果不是小数则不显示小数部分
3. 整数部分从小数点上一位开始每隔三位用 , 分割开来
4. 如果整数部分从数字 0 开始,则只会显示一位 0
例如:
isUSDFormat('$1') // => true isUSDFormat('$1.0') // => false isUSDFormat('$100,000.00') // => true isUSDFormat('$0,000.00') // => false isUSDFormat('$0.00') // => true isUSDFormat('$11,23,345.33') // => false isUSDFormat('$1,123,345.33') // => true
我居然写出了……
const isUSDFormat = (str) => { var regexp = /^\$((\d|\,)+)(\.?)(\d*)$/, str_ints, i, len; var res = str.match( regexp ); console.log( res ); if( res ){ // long int if( res[1].indexOf(",") >= 0 ){ str_ints = res[1].split(","); if( parseInt( str_ints.join("") ) == 0 ){ return false; } for( i in str_ints ){ if( i == 0 && str_ints[i].length > 3){ return false; }else if( i != 0 && str_ints[i].length != 3 ){ return false; } } // int }else{ if( String( parseInt( res[1] ) ) != res[1] ){ return false; }else if( res[1].length > 3 ){ return false; } } // decimal if( res[3] == "." && res[4].length != 2 ){ return false; } return true; }else{ return false; } }
以后要每天写一遍
var regexp = /^\$([1-9]\d{0,2}(,\d{3})*|0)(\.\d{2})?$/;
相关文章推荐
- LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子.....LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12,K为13。上面
- LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育
- 最近在编写一些bat工具时,发现自己对lua的io和正则表达式使用没什么了解,网络上转载解决问题后的文章。
- 2017/3/24 每天都刷刷ACM练练脑子~ 今天刷了一道debug了很久的题...最后发现..哎还是怪自己太马虎
- 每天出门前,记得提醒自己一遍,别落下了梦想
- 每天看一遍 相信自己会改变的!
- 今天正式决定,每天简短的几个字记录自己准备系统分析员考试的过程。
- 每天出门前,记得提醒自己一遍,别落下了梦想
- 毕业生-告诫自己每天看一遍,你将获益终生。
- 发现自己在到数据的时候sql语句变得好熟悉了,也可以这么写的
- 每天吃2根香蕉,30天后你会发现自己有惊人的变化!
- 給自己生活的忠告,每天看一遍~~~~~~
- 发现自己对socket还是比较熟悉的
- 为何不愿做熟悉的自己?
- 发现梦想离自己越来越远了
- 如果PC机发现自己的IP和网关不再同一网络内,它该如何处理???
- 自己考虑招人的事情,才发现自己简历问题出在什么地方
- 曾经想学很多很多,最后发现自己只能专心学那么很少的几个必杀技
- 大家来找错-自己写个正则引擎(二)-构建抽象模式树
- 每天淘汰自己