0
Google 스크립팅을 사용하여 양식을 디자인하고 있습니다. 시간 값을 유지해야하는 두 개의 텍스트 상자가 있는데 입력이 유효한지 확인하려고합니다. 나는 텍스트 상자에 입력을 시작으로Google UI 스크립트 validateMatches가 작동하지 않으며 validateNotMatches가 수행되지 않습니다
function setupTimeValidators(widget) {
var timeRe = /(0[1-9])|(1[0-2]):[0-5][0-9] ?[ap]m/i;
var onValid = (UiApp.getActiveApplication().createClientHandler()
.validateMatches(widget, timeRe)
.forTargets(widget)
.setStyleAttribute("background", "#FFFFFF"));
var onInvalid = (UiApp.getActiveApplication().createClientHandler()
.validateNotMatches(widget, timeRe)
.forTargets(widget)
.setStyleAttribute("background", "#FFCCCC"));
widget.addKeyUpHandler(onValid);
widget.addKeyUpHandler(onInvalid);
}
onInvalid
부분은 즉시 텍스트 상자의 배경색을 변경하지만 내가 01:11 pm
에 도착하면 그것은 결코 흰색에 다시 변경되지 않습니다. (본인은 값이 테스트했습니다.)
을 내 정규 표현식 작동 확신, 내가 지금처럼 테스트하기 때문에 :
function test() {
Browser.msgBox(/(0[1-9])|(1[0-2]):[0-5][0-9] ?[ap]m/i.test("01:11 pm")); // true
Browser.msgBox(/(0[1-9])|(1[0-2]):[0-5][0-9] ?[ap]m/i.test("00:11 pm")); // false
Browser.msgBox(/(0[1-9])|(1[0-2]):[0-5][0-9] ?[ap]m/i.test("10:11 pm")); // true
Browser.msgBox(/(0[1-9])|(1[0-2]):[0-5][0-9] ?[ap]m/i.test("10:90 pm")); // false
}
에 갈 수 있는지 어떤 아이디어가? 감사!
을 , 고맙습니다! (문서를 올바르게 읽을 때 도움이됩니다 ...) –