[英]JS set input value by regex
如果您使用的是 UI 框架,請參閱他們的文檔,他們可能有一個插件可以為您完成。 或者,如果您想自己做:
從 HTML 端,您可以使用type="time"
屬性(請檢查瀏覽器對此的支持)。
例如,從 JavaScript 開始,您可以在提交表單時使用類似^([01]\d|2[0-3]):?([0-5]\d)$
的內容。
const TIME_REGEX = /([01]\d|2[0-3]):?([0-5]\d)$/; const myTimeElm = document.getElementById('myTime'); const outputElm = document.getElementById('output'); let timer; outputElm.addEventListener('click', () => { if (TIME_REGEX.test(myTimeElm.value)) { outputElm.innerText = myTimeElm.value; } else { outputElm.innerText = "Error;" } });
#output { cursor: pointer; }
<input type="time" id="myTime" value="00:00"> <span id="output">click here!</span>
如果您不想使用 HTML 的 type="time",請考慮為您的輸入使用一個掩碼,您可以在其中記錄用戶的輸入並在不同的組件中呈現格式化的 output。
由於單獨使用 RegEx 無法獲得與您可能想要鍛煉輸入的 cursor position 相同的用戶體驗。
或者簡單地使用一個為你做這件事的庫(例如Cleave.js )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.