[英]Regular Expression in C#
我想驗證文本框的輸入,以使其不為空,並且也僅接受十進制或整數。 我已經嘗試過以下正則表達式:^ \\ S [0-9] ,?[0-9] $這個允許在開頭一個字母
^ \\ S [0-9] + ,? [0-9] * $這個雖然不允許字母,但是至少需要2個數字,這是不希望的。
非常感謝您抽出寶貴的時間。
我建議只使用比較驗證器 ...
<asp:CompareValidator id="Compare1"
ControlToValidate="TextBox1"
Operator="DataTypeCheck"
Type="Double"
runat="server"/>
它旨在處理您正在談論的事情,而不會弄亂所有正則表達式...
我承認我不是regex的粉絲(除非真正需要)。 看一下這篇文章:
"^\\d+(\\.\\d+)?$"
應該這樣做。 這將匹配以一個或多個數字開頭,然后是小數點和一個或多個其他數字開頭的字符串。 小數點和小數部分被分組,因此如果您有一個,則也需要另一個,但不能有一個。
\\ S的使用將在開頭匹配任何非空白字符,這可能不是您想要的。
這應該起作用^ \\ d {1,}。?\\ d {1,} $
^ [\\ d] {1,99} [。] \\ d {1,99}
幾乎就是您所需要的。 您可以在這里嘗試: http : //www.gskinner.com/RegExr/
這將允許使用正數或負數以及逗號和小數。
但是,它不能確保逗號在正確的位置
^-?[\\d,]+\\.?\\d*$
通過
失敗
老實說,正則表達式是錯誤的解決方案
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.