Chuỗi có thể được xác nhận bằng Java như thế nào? I E. chỉ các ký tự được phép và không phải là số? Làm thế nào về xác nhận email?Chuỗi có thể được xác nhận bằng Java như thế nào?
Trả lời
cho chuỗi với các nhân vật chỉ thử
private boolean verifyLastName(String lname)
{
lname = lname.trim();
if(lname == null || lname.equals(""))
return false;
if(!lname.matches("[a-zA-Z]*"))
return false;
return true;
}
để xác nhận email thử
private boolean verifyEmail(String email)
{
email = email.trim();
if(email == null || email.equals(""))
return false;
if(!email.matches("^[a-zA-Z0-9._%+-][email protected][a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6}$"))
return false;
return true;
}
Thực sự không có điểm nào trong việc kiểm tra chuỗi trống hoặc cắt xén vì bạn có thể chăm sóc những người có regex. – NullUserException
Tôi đồng ý với NUE – jsshah
các 'trim' nên được thực hiện SAU kiểm tra null ... hoặc người nào khác bạn sẽ ném NullPointerException ... – st0le
làm thế nào một chuỗi có thể được xác nhận trong java?
Cách thông thường để thực hiện điều đó là sử dụng regex hoặc Cụm từ thông dụng. Trong Java, bạn có thể sử dụng phương thức String.matches(String regex)
. Với regexes, chúng tôi cho rằng bạn khớp một chuỗi với mẫu Nếu kết quả khớp thành công, .matches()
sẽ trả về giá trị đúng.
chỉ các ký tự được phép và không phải là số?
// You can use this pattern:
String regex = "^[a-zA-Z]+$";
if (str.matches(regex)) {
// ...
}
email xác nhận?
Địa chỉ email có số very complicated spec, yêu cầu regex quái dị phải chính xác. Đây là một phong nha và ngắn, nhưng không chính xác đúng:
String regex = "\\b[A-Z0-9._%+-][email protected][A-Z0-9.-]+\\.[A-Z]{2,4}\\b";
if (str.matches(regex)) {
// ...
}
Nếu bạn thực sự muốn nhìn vào nó: How to validate email và Comparing email validating regexes (PHP).
Dưới đây là một nguồn tài nguyên tuyệt vời để bắt đầu trên regex:
http://www.regular-expressions.info
Đối với trường hợp đơn giản như vậy, đi với RegExp như NullUserException đã đề xuất. Nếu bạn cần giải pháp mạnh mẽ hơn, bạn có thể sử dụng một số khung xác thực, tức là Apache Commons Validator.
Nếu bạn có Apache commons-lang làm phụ thuộc dự án (và điều đó là khá bình thường), bạn có thể sử dụng StringUtils.isAlpha()
. Nếu bạn có xác thực cụ thể hơn hoặc không muốn phụ thuộc vào commons-lang, bạn có thể thực hiện điều đó với cụm từ thông dụng và String.matches()
.
- 1. Tôi có thể viết GEOTIFF bằng Java như thế nào?
- 2. Làm thế nào tôi có thể nhận được chuỗi tùy chọn cổ phiếu bằng YQL?
- 3. Làm thế nào tôi có thể nhận được độ phân giải màn hình bằng java?
- 4. Tôi có thể sử dụng Catalyst và chuỗi uri bằng giao diện REST như thế nào?
- 5. Nhập bằng Java như thế nào?
- 6. Java lưu trữ Strings như thế nào và chuỗi con hoạt động như thế nào?
- 7. C# Làm thế nào tôi có thể xác nhận chuỗi chứng chỉ Root-CA-Cert (x509)?
- 8. Làm thế nào tôi có thể nhận được xác nhận hợp lệ jQuery để tạo ra đánh dấu giống như xác thực ASP .NET MVC phía máy chủ?
- 9. Khoảng cách Manhattan có thể được thừa nhận như thế nào?
- 10. Dòng nhận xét có thể được viết bằng Python không?
- 11. Tôi nên sao chép Strings bằng Java như thế nào?
- 12. Tôi có thể tạo cơ sở dữ liệu PostgreSQL bằng Java như thế nào?
- 13. Java. getClass() trả về một lớp, làm thế nào tôi có thể nhận được một chuỗi quá?
- 14. Tôi làm cách nào để có thể xác nhận lại email được gửi bằng JavaMail API?
- 15. Làm thế nào tôi có thể nhận được chiều rộng của div, được viết bằng CSS
- 16. Tôi có thể học regex bằng ruby như thế nào?
- 17. chú thích java được thể hiện như thế nào trong bytecode java
- 18. Làm thế nào tôi có thể nhận được các bit từ một chuỗi trong C#?
- 19. Xác nhận chuỗi chứng nhận X509 bằng tay của Android
- 20. Làm thế nào tôi có thể nhận được argv [] như int?
- 21. HMM có thể được sử dụng như thế nào để nhận dạng chữ viết tay?
- 22. Các cấu trúc lớn có thể được truyền bằng giá trị hiệu quả như thế nào?
- 23. Tại sao int của tôi? giá trị được xác nhận như thể nó được yêu cầu?
- 24. C#: Làm thế nào tôi có thể nhận được thời gian hiện tại thành một chuỗi?
- 25. Làm thế nào tôi có thể nhận được chiều cao của một chuỗi cho trước?
- 26. android: làm thế nào tôi có thể nhận được kích thước của mảng chuỗi?
- 27. Làm thế nào tôi có thể nhận được pg_dump để xác thực đúng
- 28. Trình xác nhận chuỗi JSON đáng tin cậy trong Java
- 29. Java: Làm thế nào tôi có thể nhận được mã hóa từ inputStream?
- 30. Làm thế nào tôi có thể nhận được một phần của trận đấu regex như một biến trong python?
Bạn có thể xem xét Cụm từ thông dụng: http://download.oracle.com/javase/tutorial/essential/regex/ – MatrixFrog