【发布时间】:2015-09-30 05:27:04
【问题描述】:
我正在写一些东西,它将接受用户输入的电话号码,并根据五个参数告诉用户他们的输入是否有效:
- 输入长度为 13 个字符
- 索引 0 处的字符为 '('
- 索引 4 处的字符是 ')'
- 索引 8 处的字符为 '-'
- 所有其他字符必须是以下数字之一:“0”到“9”(含)。
到目前为止,除了第 5 个参数之外,我已经完成了所有工作。我的代码如下
if (number.contains("[0-9]+"))
{
ints = true;
if (number.contains("[a-zA-Z]*\\d+."))
{
ints = false;
}
}
else
{
ints = false;
}
(旁注:number 是我的字符串,它是用户的输入,ints 是前面代码中声明的布尔值)。
【问题讨论】:
-
匹配正则表达式而不是检查包含
-
你可以写一个正则表达式并与之匹配
-
String.contains() 不将正则表达式作为输入。这永远不会符合您的要求。
标签: java regex string if-statement