条件性 正则表达式的运用
现在有一个需求,我们需要一个正则 要求是9位数字,最多保留2位小数
思考 当以 0开头时 只有2种可能 小数 0,如果既不是0 又不是小数的话 则是一个正数,正数都不满足的话 则字符串不符合要求
条件性正则的MDN:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions/Assertions
具体是 (?<=条件)then|else
所以可以构造出:/(?<=^0\.)\d{1,2}$|(^[123456789]{1}\d{0,8}(\.\d{1,2}){0,1}$)|(^0$)/
解释:条件: 0\. 匹配(0.)的话 则 \d{1,2} 小数后面出现1-2位
否则 正数:开头第一个不能是0的数:^[123456789]{1},后面的数字出现0-8次 \d{0,8},可以匹配小数 则小数部分出现0,1: (\.\d{1,2}){0,1}$
或者匹配0: ^0$
相关推荐
wangzhaotongalex 2020-10-20
wyq 2020-11-11
TLROJE 2020-10-26
风雨断肠人 2020-10-13
duanqingfeng 2020-09-29
rechanel 2020-11-16
cshanzhizi 2020-10-16
luofuIT成长记录 2020-09-22
phphub 2020-09-10
taomengxing 2020-09-07
MaggieRose 2020-08-19
flyingssky 2020-08-18
山水沐光 2020-08-18
jyj00 2020-08-15
AHuqihua 2020-08-09
山水沐光 2020-08-03