我正在尝试编写代码,阻止用户在输入字段中输入除数字以外的任何内容。以下是此输入字段的代码:
Const RegExDecimalOnly = "^(((\d{1,3})(,\d{3})*)|(\d+))(.\d+)?$"
此RegEx可以很好地阻止字母字符,包括大写和小写。它还会阻止许多其他标点字符。但是,它允许我输入按住shift并按数字键时产生的标点符号。这些标点符号包括:
! [通过按住Shift键并按1生成]
@ [按住Shift键并按2生成]
数字符号[通过按住Shift键并按3生成]
%[按住Shift键并按5生成]
^ [按住Shift键并按6生成]
&安培; [通过按住Shift键并按7生成]
星号[通过按住Shift键并按8生成]
([按住Shift键并按9生成]
)[按住Shift键并按0生成]
我不能使用“^ [0-9] * $”的RegEx,因为输入字段需要在小数点后面有两位数,以及用逗号表示数千,数百万,数十亿等等。任何人都可以提供给我的任何帮助将不胜感激。祝你有愉快的一天。
答案 0 :(得分:0)
为什么不使用MaskedEdit控件? https://msdn.microsoft.com/en-us/library/aa733654%28v=vs.60%29.aspx