正则表达式为XXXXXX.XX格式化的数字

时间:2016-05-10 12:21:08

标签: javascript regex

我需要用这种格式编写正则表达式:XXXXXX.XX 可以少于6位数,.XX部分应该是可选的。

function checkFormat(el) {
    var ex = new RegExp(/ ^[0-9]{1,6}([.][0-9]{1,2})$/);
    var valid = ex.test(el.value);
    return valid;
}

正确的正则表达式应该是什么?

2 个答案:

答案 0 :(得分:2)

.和最后2个数字设为可选(?:\.[\d]{2})?,即:

/^\d{1,6}(?:\.\d{2})?$/

function checkFormat(el) {
    var ex = new RegExp(/^\d{1,6}(?:\.\d{1,2})?$/);
    var valid = ex.test(el);
    return valid;
}

document.write("12345 " + checkFormat(12345)+"<br>");
document.write("12345.002 " + checkFormat(12345.002)+"<br>");
document.write("12345.00 " +  checkFormat(12345.00)+"<br>");
document.write("123455555 " + checkFormat(123455555)+"<br>");

Regex101 Demo

答案 1 :(得分:2)

只需添加“?”使“()”部分可选,我将[.]替换为\.,将[0-9]替换为\d

/^\d{1,6}(\.\d{1,2})?$/