簡體   English   中英

正則表達式僅允許特定數字

[英]Regex to allow only particular numbers

我有一個字段,該字段只能取整為12的值,例如12,24,36,48,60,72,84,96,108,120. 我在正則表達式下面使用了:

12|24|36|48|60|72|84|96|108|120

但這還允許使用諸如12abc, 12-!& 它允許帶有數字的字母或特殊字符。 是否有任何正則表達式只允許輸入12,24,36,48,60,72,84,96,108,120作為輸入。

我同意Pointy的觀點,這聽起來並不是正則表達式的工作。 如果您使用的是HTML5輸入驗證,則一定要使用Sean T展示的方法

但是從您所說的是匹配的角度來看,只是您沒有輸入開始錨( ^ )和輸入結束錨( $ ):

^(?:12|24|36|48|60|72|84|96|108|120)$

(您需要非捕獲組,否則錨點將成為其旁邊替代項的一部分。)

如果要允許無害空間:

^\s*(?:12|24|36|48|60|72|84|96|108|120)\s*$

顯然,無論哪種情況(執行類似操作或使用Sean的HTML5方法),如果將其發送到服務器,則也需要在服務器上對其進行驗證。

如果您使用的是html5控件,請使用stepminmax

<input type="number" step="12" min="0" max="120" name="multiplesOfTwelve"/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM