JavaScript正则表达式仅匹配X位数

时间:2011-01-30 01:14:24

标签: javascript regex numbers

有人可以帮助我的豌豆大脑弄清楚为什么我的简单正则表达式不起作用,因为我期待/想要它。

我想将MM / DD / YYYY的日期格式与完全 2和4位匹配,所以类似于01/16/1955。我的下面的代码就是这样,但它也匹配 2 + 4 + 数字,所以像011/16/1955或01/16/19555(1个额外数字)通过我的验证。

//validate date of birth
var dob_label    = $date_of_birth.find('label').text().slice(0, -1),
dob_mm           = $dob_mm.val(),
dob_dd           = $dob_dd.val(),
dob_yyyy         = $dob_yyyy.val(),     
regex_two_digit  = /^\d{2}$/,
regex_four_digit = /^\d{4}$/;

if ( (regex_two_digit.test(dob_mm)) && (regex_two_digit.test(dob_dd)) && (regex_four_digit.test(dob_yyyy)) ) {
    //a button is enabled here
} else {
    //a validation error is thrown here and the button is disabled
}

2 个答案:

答案 0 :(得分:24)

需要指定字符串的开头和结尾

/^\d{4}$/

答案 1 :(得分:1)

试试这个^\d{1,2}\/\d{1,2}\/\d{4}$