我需要用这种格式编写正则表达式: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;
}
正确的正则表达式应该是什么?
答案 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>");
答案 1 :(得分:2)
只需添加“?”使“()”部分可选,我将[.]
替换为\.
,将[0-9]
替换为\d
/^\d{1,6}(\.\d{1,2})?$/