我有一個用于驗證輸入 type="number" 的正則運算式,但是我的正則運算式的問題是它允許輸入加號,如何防止輸入加號,但允許輸入減號?例如可以輸入:123;11,22; -33; -33.44 但不允許輸入 123 和 -0, 0
const deprecatedKeys = /^- ?\D$|^decimal$|^multiply$|^add$|^divide$|^subtract$|^spacebar$/i;
uj5u.com熱心網友回復:
您當前模式的第一部分是有問題的:^- ?\D$當前會匹配一次到無限次之間的連字符,但盡可能少和非數字字符。所以像 '----- ' 或 '-X' 這樣的東西也會匹配。
如果你想允許一個可選的前導連字符和可選的小數,你可以使用:
^(?!-0$)-?\d (?:[.,]\d )?$
此外,所有這些交替都可以分組到一個非捕獲組中,具有單個前導和尾隨錨點:
^(?:(?!-0$)-?\d (?:[.,]\d )?|decimal|multiply|add|divide|subtract|spacebar)$
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/418918.html
標籤:
