如何检查TextField是否仅包含(DOT)字符

时间:2013-07-05 10:10:44

标签: java

如何检查TextField是否仅包含(DOT)字符。 TextField可以包含以下内容...

.9 = > Valid
9. = > Valid
9.23 = >Valid

但是如果TextField只包含(。),那么应该向用户抛出一条错误消息。我不能Text.startsWith()Text.contains(),因为在其他情况下两者都可能失败。

4 个答案:

答案 0 :(得分:4)

使用此正则表达式

text.matches("\\d+|\\d*\\.\\d+|\\d+\\.\\d*")
  • \\d+仅匹配数字
  • \\d*\\.\\d+匹配以点或数字开头且包含点
  • 的字符串
  • \\d+\\.\\d*匹配以digit开头的字符串,包含一个点和任意数量的数字 在它之后

请注意,此表达式也会接受以0开头的数字。

答案 1 :(得分:1)

您只需使用

即可
text.equals(".")

或者,考虑到空格,

text.trim().equals(".")

答案 2 :(得分:1)

如果你还需要检查除了点之外你还有一个数字,你应该写几个正则表达式。

如果符合以下模式,则字符串有效:

\d+       // Digits without the dot
\d*\.\d+  // Number with some digits after the dot
\d+\.\d*  // Number with some digits before the dot

答案 3 :(得分:-1)

你可以使用两种方法

if(yourTextFieldName.getText().endsWith(".") && yourTExtFieldName.startsWith(".")) {
    //write your code here
}