簡體   English   中英

正則表達式,僅允許整數和十進制,無需精度

[英]regular expression to allow only integer and decimal no precision required

這是重復的帖子,盡管要求沒有什么不同,但我想知道一個僅允許十進制數的正則表達式。 在這里找到了類似的解決方案。

正則表達式僅允許使用整數和十進制,但解決方案中使用逗號。

我在Regex exp中根本不需要逗號。

/^[0-9]+([\,\.][0-9]+)?$/g; answer found on the site

我根據帖子中的解釋應用了邏輯。

/^[0-9]+([\.][0-9]+)?$/g; My modification

還有其他方法可以解決嗎?

這是正確的調用方式:

var regex = new RegExp(/^[0-9]*([\.][0-9]+)?$/g);
console.log(regex.test('0.85'));  // true
console.log(regex.test('0,85'));  // false
console.log(regex.test('.35'));   // true  
console.log(regex.test(''));      // false   
console.log(regex.test('.'));     // false
console.log(regex.test('4'));     // true

我建議對正則表達式進行一些修改,已將第一個塊的多重性更改zero or more因此,如您在上面的注釋中所述, .35將被視為有效。

是一個矮人。

暫無
暫無

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

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