2 回答
TA贡献1785条经验 获得超8个赞
要检查某个电子邮件地址是否包含 @ 符号,这很简单:
if (!email.contains("@")) System.out.println("Hey, now, emails do at least contain an @, you know!");
要检查字符串长度是否在 5 到 15 之间,我们假设包含,因为您不是特定的:
if (passw.length() < 5 || passw.length() > 15) System.out.println("5 to 15 characters please!");
– 请注意,正如其他人所说,限制密码长度是愚蠢的。这样做是有原因的<schwarzenegger>,但都是坏的</schwarzenegger>。所以不要那样做。我认为这是家庭作业。看到作业问题假设写一张支票仍然很烦人,这是一种常见的行业愚蠢举动。有关密码散列、b-crypt、TOTP 等的更多详细信息,请阅读。在这里进行错误处理的正确方法是
throws Exception
像这样附加到您的主要内容上:public static void main(String[] args) throws Exception { ... }
...至少,对于您不知道如何处理它的任何异常(并记录它并忽略它并没有正确处理异常。如果这就是您可以合理使用它的所有内容,然后不要,只需按照说明进行投掷即可)。
TA贡献1808条经验 获得超4个赞
你的规格对我来说不是很清楚,但据我了解,这段代码应该可以工作:
// username should be an alphanumeric string of length 4 to 12.
username.matches("[\\p{Alnum}]{4,12}");
// email should be alphanumeric characters followed by an '@' symbol followed by a domain name.
// The standard domain name specification allows for alphanumeric characters or a hyphen as long as the hyphen doesn't start or end the domain name.
email.matches("[\\p{Alnum}]+@[\\p{Alnum}]+(-[\\p{Alnum}]+)*(\\.[\\p{Alnum}]+(-[\\p{Alnum}]+)*)+");
// password should be an alphanumeric string of length 6 to 14.
password.matches("[\\p{Alnum}]{6,14}");
添加回答
举报