[英]Regex for validating decimal values
我現在正在使用此正則表達式,
Regex rg = new Regex(@"\\d{1,16}\\.?|\\d{0,16}\\.\\d{1,3}");
驗證輸入到文本框中的十進制值。 工作正常。 但是,它允許用戶輸入十進制值以及非數字字符,例如2.a
或2\\
。
我相信這里是錯誤的部分\\.?
。 我用過?
所以它接受字母值? 我嘗試過類似\\.[0-9]?
但它不起作用。
以下是有效和無效的值:
關於SO可能會有重復的問題。 但是有效的正則表達式令牌因實現而異。 這就是為什么我在這里問一個新問題。 任何幫助都感激不盡!
您可以使用該正則表達式:
^\d{1,16}(\.\d{1,4})?$
它將首先驗證1到16位數字之間的可選點和1到4位數字。
如果要始終有點,則應使用:
^\d{1,16}((\.\d{1,4})|(\.))?$
正則表達式
^\d{1,16}(\.\d{1,4})?$
可以正常工作,如果您想識別是否只有在點上可以添加
^(\d{1,16})|(\d{1,16}\.{1}\d{0,4})|(\d{1,16}\.{1})$
它不像其他的那么優雅,但是可以在您發布的場景中使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.