이 정규식에 어떤 문제가 있습니까? 그것은 당신이 중간에 /
을 탈출 할 필요가정규 표현식 날짜
var patt = /[0-9]{2}/[0-9]{2}/[1-9]{4}/;
if(patt.test(document.getElementById('date').value) == false){
document.getElementById("errorTxt").innerHTML = "Error";
return false;
}
이 정규식에 어떤 문제가 있습니까? 그것은 당신이 중간에 /
을 탈출 할 필요가정규 표현식 날짜
var patt = /[0-9]{2}/[0-9]{2}/[1-9]{4}/;
if(patt.test(document.getElementById('date').value) == false){
document.getElementById("errorTxt").innerHTML = "Error";
return false;
}
작동하지 않습니다.
왜 2012 년을 유효한 연도로 허용하지 않았습니까?
이것은 '91/72/9123'과 일치합니다. OP가 그것을 받아 들인 것처럼 보입니다 : -? –
패턴 중간에 /
을 탈출해야합니다. 그들을 \/
로 만드십시오. 정규 표현식 내에서 슬래시를 사용하려면
는, 그들은 탈출해야합니다
관련 메모에var patt = /[0-9]{2}\/[0-9]{2}\/[1-9]{4}/;
, 당신은 어떤 자리 표현하기 위해 \ d를 사용할 수 있습니다 :
var patt = /\d{2}\/\d{2}\/\d{4}/;
글쎄, 어떻게 2012
을 [1-9]{4}
으로 일치 시키십시오. 0
이 yyyy
일 때?
당신이 번호로 날짜를 분할 할 수 있습니다 /\d{2}\/\d{2}\/\d{4}/
정규식을 사용하여,하지만 ...
대신 JavaScript Date Validation를 사용해야합니다.
"작동하지 않을 것입니다"는 설명이 너무 모호하여 유용하지 않습니다. 실제 행동에 대해 기대하는 바를 기재하십시오. –
JS 마법사가 아닌 것은 확실하지만 91/72/9123은 유효하고 10/02/2001은 유효하지 않은 것으로 간주됩니다 (연도에 0을 허용하지 않음). 정규식이 최선의 방법이 아닐 수도있는 이유에 대해 [여기] (http://www.codinghorror.com/blog/2008/06/regular-expressions-now-you-have-two-problems.html)를보십시오. 이의. –
날짜 확인에 신경 쓰지 않아도됩니다. -? –