내 자바 스크립트 함수의 어떤 것과도 일치하는 정규식을 얻을 수 없으며 무엇이 잘못되었는지에 대한 아이디어가 부족합니다. 나는 더 나은 부분을 위해이 스 니펫을 작업하고 다른 사람들의 정규식 문자열을 검색하고 시도하고 모든 시도가 m = null로 실패합니다. 그것은 단순한 것이어야합니다 ... 나는 그것을 볼 수 없습니다.
내가 정한 정규식 문자열은 여기에서 유효성이 검사됩니다. 샘플
js 함수의 목표는 입력 시간을 24 시간으로 출력하는 것입니다. 경고는 테스트 용입니다.
내 자바 스크립트 코드는 다음과 같습니다.
//
// Enable a prototype getHours function
//
Date.prototype.addHours= function(h){
this.setHours(this.getHours()+h);
return this;
}
//
// Input: string '07/19/2020 08:40 PM'
// Output: date 07/19/2020 20:40
//
function strToDate(dateString){
try {
var dateobject;
var dateReg = /^(\d{1,2})\/(\d{1,2})\/(\d{4}) (\d{1,2}):(\d{1,2}):(\d{1,2}) ([AP]M)$/;
var m = dateString.match(dateReg);
if (m) {
dateobject = new Date(m[1], m[2]-1, m[3], m[4], m[5], 0)
if (m[6] == 'PM') {
dateobject = dateobject.addHours(12)
}
} else {
alert('no match');
}
return dateObject;
} catch (ex) {
alert('error: ' + ex);
}
}
어떤 제안이라도 대단히 감사하겠습니다!
줄을 변경해보십시오.
var dateReg = /^(\d{1,2})\/(\d{1,2})\/(\d{4}) (\d{1,2}):(\d{1,2}):(\d{1,2}) ([AP]M)$/;
에:
var dateReg = /^(\d{1,2})\/(\d{1,2})\/(\d{4}) (\d{1,2}):(\d{1,2}) ([AP]M)$/;
:
정규식 에는 두 개의 콜론 ( )이 있지만 시간에 콜론은 하나만 있습니다.
또한 시간 부분과 오전 / 오후 부분 사이에 누락 된 공간이 있습니다.
여기에서 확인했습니다 : https://regex101.com/r/szity1/1
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다