0
我正在設計一個使用Google腳本的表單。我有兩個文本框需要保存時間值,我想確保輸入有效。谷歌用戶界面腳本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
}
任何想法可能是怎麼回事?謝謝!
這做到了, 謝謝! (這有助於我正確閱讀文檔...) –