😇作者介绍:一个有梦想、有理想、有目标的,且渴望能够学有所成的追梦人。
🎆学习格言:不读书的人,思想就会停止。——狄德罗
⛪️个人主页:进入博主主页
🗼专栏系列:无
🌼欢迎小伙伴们访问到博主的文章内容,在浏览阅读过程发现需要纠正的地方,烦请指出,愿能与诸君一同成长!
目录
文章内容如下
✏️前言
在Java和JavaScript中使用正则表达式来判断密码的复杂度是一种常见做法
✏️一、Java
👉one / 判断密码是否包含大写字母
import java.util.regex.Matcher; import java.util.regex.Pattern; public class PasswordExample1 { public static void main(String[] args) { String password = "Password123"; String regex = "^(?=.*[A-Z]).*"; if (Pattern.matches(regex, password)) { System.out.println("密码包含大写字母。"); } else { System.out.println("密码不包含大写字母。"); } } }
👉two / 判断密码是否包含数字
import java.util.regex.Matcher; import java.util.regex.Pattern; public class PasswordExample2 { public static void main(String[] args) { String password = "Password123"; String regex = "^(?=.*\\d).*"; if (Pattern.matches(regex, password)) { System.out.println("密码包含数字。"); } else { System.out.println("密码不包含数字。"); } } }
👉three / 判断密码是否包含特殊字符
import java.util.regex.Matcher; import java.util.regex.Pattern; public class PasswordExample3 { public static void main(String[] args) { String password = "Password123!"; String regex = "^(?=.*[!@#$%^&*]).*"; if (Pattern.matches(regex, password)) { System.out.println("密码包含特殊字符。"); } else { System.out.println("密码不包含特殊字符。"); } } }
👉four / 判断密码长度是否在8-16个字符之间
import java.util.regex.Matcher; import java.util.regex.Pattern; public class PasswordExample4 { public static void main(String[] args) { String password = "Password12345678"; String regex = "^(?=.{8,16}$).*"; if (Pattern.matches(regex, password)) { System.out.println("密码长度在8-16个字符之间。"); } else { System.out.println("密码长度不在8-16个字符之间。"); } } }
👉five / 综合判断密码复杂度
import java.util.regex.Matcher; import java.util.regex.Pattern; public class PasswordExample5 { public static void main(String[] args) { String password = "Password123!"; String regex = "^(?=.*[A-Z])(?=.*\\d)(?=.*[!@#$%^&*])(?=.{8,16}$).*"; if (Pattern.matches(regex, password)) { System.out.println("密码复杂度符合要求。"); } else { System.out.println("密码复杂度不符合要求。"); } } }
✏️二、javaScript
👉one / 判断密码是否包含大写字母
function hasUpperCase(password) { const regex = /^(?=.*[A-Z])/; return regex.test(password); } console.log(hasUpperCase("Password123")); // 输出:true console.log(hasUpperCase("password123")); // 输出:false
👉two / 判断密码是否包含数字
function hasNumbers(password) { const regex = /^(?=.*\d)/; return regex.test(password); } console.log(hasNumbers("Password123")); // 输出:true console.log(hasNumbers("Password")); // 输出:false
👉three / 判断密码是否包含特殊字符
function hasSpecialChars(password) { const regex = /^(?=.*[!@#$%^&*])/; return regex.test(password); } console.log(hasSpecialChars("Password123!")); // 输出:true console.log(hasSpecialChars("Password123")); // 输出:false
👉four / 判断密码长度是否在8-16个字符之间
function isValidLength(password) { const regex = /^(?=.{8,16}$)/; return regex.test(password); } console.log(isValidLength("Password12345678")); // 输出:true console.log(isValidLength("Password")); // 输出:false
👉five / 综合判断密码复杂度
function isValidPassword(password) { const regex = /^(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*])(?=.{8,16}$)/; return regex.test(password); } console.log(isValidPassword("Password123!")); // 输出:true console.log(isValidPassword("Password")); // 输出:false
✏️总结
Java正则表达式是处理字符串模式匹配和文本搜索的强大工具,它提供了一种灵活、高效的方式来进行字符串的查找、替换和验证。正则表达式在文本处理、数据验证、搜索算法等领域具有广泛的应用,是Java程序员必备的基本技能之一。