【发布时间】:2018-02-12 08:59:48
【问题描述】:
我正在寻找 JavaScript 中的正则表达式,用于测试字符串是小数点前一位还是两位数以及小数点后最多五位的数字。
正确值示例:
- 12.345
- 12.12
- 1.3
- 1.12345
- 12
什么是正确的正则表达式?
【问题讨论】:
标签: javascript regex
我正在寻找 JavaScript 中的正则表达式,用于测试字符串是小数点前一位还是两位数以及小数点后最多五位的数字。
正确值示例:
什么是正确的正则表达式?
【问题讨论】:
标签: javascript regex
你可以试试:
^\d{1,2}(\.\d{1,5})?$
解释:
^ 字符串开头\d{1,2}1转2数字号码(开启捕获组\.点\d{1,5}号码1转5数字)关闭捕获组? 使整个捕获组可选$ 字符串结尾
const regex = /^\d{1,2}(\.\d{1,5})?$/gm;
const str = `12.121`;
console.log(regex.test(`12.121`));
console.log(regex.test(`1`));
console.log(regex.test(`1.1`));
console.log(regex.test(`12.123`));
console.log(regex.test(`1.123`));
console.log(regex.test(`1.1234567`));
【讨论】:
/^\d{1,2}(\.\d{1,5})?$/
var regexp = /^\d{1,2}(\.\d{1,5})?$/;
console.log("'10.5' returns " + regexp.test('10.5'));
console.log("'100.5' returns " + regexp.test('100.5'));
console.log("'82.744' returns " + regexp.test('82.744'));
console.log("'13.' returns " + regexp.test('13.'));
console.log("'.744' returns " + regexp.test('.744'));
console.log("'.74400' returns " + regexp.test('.74400'));
console.log("'5.74400' returns " + regexp.test('5.74400'));
/ / : 表达式的开头和结尾^ : 后面的内容应该在你正在测试的字符串的开头\d{1,2} :这里应该有一位或两位数字( )? : 这部分是可选的\.:这里有一个点\d{1,5} : 这里应该是一到五位数字$ : 前面的任何内容都应该在您正在测试的字符串的末尾您可以直接在浏览器中使用regexr.com 或regex101.com 来测试正则表达式!
【讨论】: