好久没碰正则了,今天同事给我演示了一个效果,我想到了他想表达的是需要一个可以匹配小数或者整数的正则,所以就分析着写了一下,测试如下。
- 可以小数,可以整数(记得test括号中的数字格式是:字符型)
var reg=/^(0|[1-9][0-9]*)(\.\d+)?$/;
console.log(reg.test('10'));
console.log(reg.test('1000.0'));
console.log(reg.test('9972'));
console.log(reg.test('09')); //false
console.log(reg.test('0'));
console.log(reg.test('0.1'));
console.log(reg.test('0.')); // false
- 分析:正数由两部分组成:整数和小数,
- 先分析整数由0或者1~9开头[0-9]结尾。
- 小数部分出现的次数是0次或者1次,带小数点后面必须有数字。
- 以上,做个记录,我看了在线正则表达式的写法
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$
是有点重复的,所以就自己整理了下,大家测试下,欢迎提建议。