簡體   English   中英

正則表達式只允許整數和小數點數字

[英]Regex only allow whole and decimal point numbers

我想要一個只接收大於2.5的整數和小數點的輸入字段

const [foreignPackageWeight, setForeignPackageWeight] = useState('')

<input type="text" value={foreignPackageWeight}
  onChange={(e) => {
    setForeignPackageWeight(e.target.value.replace(/[^0-9.]/g, ''))
  }}
/>

但是我的正則表達式允許像.1 , ..2 , 3...4 , 5.....我如何改變我的正則表達式只允許一個小數點?

一種可能的解決方案是一種稱為正向回溯的環視形式。 Lookarounds 允許您確保模式存在(或不存在),而該模式不會成為結果的一部分。

/[^0-9.]|(?<=\..*)\./g

匹配任何一個:

  • [^0-9.]任何不是數字或句點的內容
  • (?<=\..*)\. 一個時期只要另一個時期出現在序列中較早

暫無
暫無

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

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