如何检查TextField是否仅包含(DOT)字符。 TextField可以包含以下内容...
.9 = > Valid
9. = > Valid
9.23 = >Valid
但是如果TextField只包含(。),那么应该向用户抛出一条错误消息。我不能Text.startsWith()
或Text.contains()
,因为在其他情况下两者都可能失败。
答案 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
}