赞
踩
package com; /** * java 使用正则表达式校验用户输入的账号和密码。 * 账号要求:11为数字。 * 密码要求:字母数字下划线,长度8-16。 */ public class Main { public static void main(String[] args) { // 假设用户输入的手机号 String mobile = "12345678901"; // 假设用户输入的密码 String password = "11111111"; // 登录 String result = login(mobile, password); if (!"SUCCESS".equals(result)) System.out.println(result); else System.out.println("登录成功"); } public static String login(String mobile,String password){ // 验证手机号是不是11位 if (mobile.length()!= 11) return "手机号长度错误"; // 验证密码是不是8 ~ 16位 int len = password.length(); if (len < 8 || len > 16) return "密码长度有误"; // 设置手机号的匹配规则,(这里的匹配规则非常简单,不适用于真正的业务场景:手机号的前面三位数字比较特殊。) String mobileRegex = "[1-9][0-9]{10}"; // 判断是不是手机号:第一位数字不能为0 if (!mobile.matches(mobileRegex)) return "手机号输入错误"; // 设置密码的匹配规则 String pwdRegex = "[a-zA-Z0-9_]{"+len+"}"; // 判断用户输入的是不是字母数字下划线 if (!password.matches(pwdRegex)) return "密码只能是字母数字下划线"; return "SUCCESS"; } }
import re def login(mobile, password): if len(mobile) != 11: return "手机号格式错误" mobile_pattern = re.compile(r"[1-9][0-9]{10}") reply = re.match(mobile_pattern, mobile) if reply: pass else: return "手机号格式有误" length = len(password) if length < 8 | length > 16: return "密码长度有无" pwd_pattern = re.compile(r"[a-zA-Z0-9_]{" + str(length) + "}") reply = re.match(pwd_pattern, password) if reply: pass else: return "密码只能是字母数字下划线" return "SUCCESS" if __name__ == '__main__': mobile = "12345678901" password = "23ded22d#" result = login(mobile, password) if "SUCCESS" != result: print(result) else: print("登录成功")
<script> // 假设用户输入 let mobile = "12345678901" let password = "sf32r23fqad" // 校验手机号长度 if (mobile.length !== 11){ console.log("手机号错误") } // 校验密码长度 let pwdLen = password.length if (pwdLen <8 || pwdLen > 16){ console.log("密码长度为 8 ~ 16 位字符") } // 校验手机号是否都是数字,且第一位数字不是0 let mobileRegex = /[1-9][0-9]{10}/ if (!mobileRegex.test(mobile)){ console.log("手机号有误") } // 校验密码是不是都是由 字母数字下划线组成 let pwdRegex = new RegExp("[0-9a-zA-Z]{"+pwdLen+"}") if (!pwdRegex.test(password)){ console.log("密码只能是字母数字下划线") } </script>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。