簡體   English   中英

如何編寫 javascript 正則表達式,它接受數字范圍在 8 到 15 integer 之間的十進制數?

[英]how to write javascript regular expression that accept number range between 8 to 15 integer with decimal number also?

我想讓 javascript 正則表達式只匹配 8 到 15 之間的數字(不是負值)。 正則表達式也應該接受小數點,如 8.7 或 9.5 等等,直到 15。

/^0*([89]|1[0-5])$/

我試過上面的正則表達式,但它不允許小數點。 誰能幫我制作 javascript 正則表達式?

您可以使用以下內容:

/^0*(?:[89]|1[0-5])(?:\.\d)?$/

但這將允許15.99999999 ,因為 integer 部分( 15 )是允許的。 要限制它,您必須使用不同的大小寫,例如:

/^0*(?:(?:[89]|1[0-4])(?:\.\d)?|15(?:\.0+)?)$/

檢查regex101.com

但我不得不提一下,使用正則表達式驗證數字並不是一個好主意。

以下是更高性能和更語義化的:

const number= +input
if (8<=number && number<=15){
  //Valid number
}

暫無
暫無

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

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