手机号码、邮箱验证

本文介绍了一个Java工具类,用于验证各种常见输入的有效性,包括用户名、密码、手机号码、电子邮件地址、数字、日期格式等,并提供了获取本地IP地址的功能。

package com.hengxin.qianee.utils;

import java.net.InetAddress;

public class RegexUtils {
	
	/**
	 * 用户名是否符合规范(^[\u4E00-\u9FA5A-Za-z0-9_]+$)
	 * @return
	 */
	public static boolean isValidUsername(String username) {
		if (username==null || username.trim() == "") {
			return false;
		}
		
		return username.matches("^[\u4E00-\u9FA5A-Za-z0-9_]{2,10}$");
	}
	
	/**
	 * 密码是否符合规范([a-zA-Z\d]{6,20})
	 * @return
	 */
	public static boolean isValidPassword(String password) {
		if (null == password) {
			return false;
		}
		
		return password.matches("^([^\\s'‘’]{6,20})$");
	}
//	public static boolean isValidPassword(String password) {
//		if (null == password) {
//			return false;
//		}
//		
//		return password.matches("[a-zA-Z\\d]{6,20}");
//	}
	/**
	 * 是否有效手机号码
	 * @param mobileNum
	 * @return
	 */
	public static boolean isMobileNum(String mobileNum) {
		if (null == mobileNum) {
			return false;
		}
		
		return mobileNum.matches("^((13[0-9])|(14[4,7])|(15[^4,\\D])|(17[6-8])|(18[0-9]))(\\d{8})$");
	}
	
	/**
	 * 是否有效邮箱
	 * @param email
	 * @return
	 */
	public static boolean isEmail(String email) {
		if (null == email) {
			return false;
		}
		
		return email.matches("^([a-zA-Z0-9])+([a-zA-Z0-9_.-])+@([a-zA-Z0-9_-])+((\\.[a-zA-Z0-9_-]{2,3}){1,2})$");
	}
	
	/**
	 * 是否是QQ邮箱
	 */
	public static boolean isQQEmail(String email){
		if(null == email)
			return false;
		
		return email.matches("^[\\s\\S]*@qq.com$");
	}
	
	/**
	 * 是否数字(小数||整数)
	 * @param number
	 * @return
	 */
	public static boolean isNumber(String number) {
		if (null == number) {
			return false;
		}
		
		return number.matches("^[+-]?(([1-9]{1}\\d*)|([0]{1}))(\\.(\\d)+)?$");
	}
	
	/**
	 * 是否整数
	 * @param number
	 * @return
	 */
	public static boolean isInt(String number) {
		if (null == number) {
			return false;
		}
		
		return number.matches("^[+-]?(([1-9]{1}\\d*)|([0]{1}))$");
	}
	
	/**
	 * 是否正整数
	 * @param number
	 * @return
	 */
	public static boolean isPositiveInt(String number) {
		if (null == number) {
			return false;
		}
		
		return number.matches("^[+-]?(([1-9]{1}\\d*)|([0]{1}))$");
	}
	
	/**
	 * 是否日期yyyy-mm-dd(yyyy/mm/dd)
	 * @param date
	 * @return
	 */
	public static boolean isDate(String date) {
		if (null == date) {
			return false;
		}
		return date.matches("^([1-2]\\d{3})[\\/|\\-](0?[1-9]|10|11|12)[\\/|\\-]([1-2]?[0-9]|0[1-9]|30|31)$");
	}
	
	/**
	 * 逗号分隔的正则表达式
	 * @param str
	 * @return
	 */
	public static String getCommaSparatedRegex(String str) {
		if (str == null) {
			return null;
		}
		
		return "^("+str+")|([\\s\\S]*,"+str+")|("+str+",[\\s\\S]*)|([\\s\\S]*,"+str+",[\\s\\S]*)$";
	}
	
	/**
	 * 字符串包含
	 * @return
	 */
	public static boolean contains(String str, String regex) {
		if (str == null || regex == null) {
			return false;
		}
		
		return str.matches(regex);
	}
	
	/**
	 * 是否为16,19或者22位银行账号
	 * @param bankAccount
	 * @return
	 */
	public static boolean isBankAccount(String bankAccount){
	    if (null == bankAccount) {
            return false;
        }
	    
	    return bankAccount.matches("^(\\d{19}|\\d{16}|\\d{22})$");
	}
	
	/**
	 * 获取本机IP
	 * @return
	 */
	public static String getIp(){
		
		InetAddress ia=null;
		try {
			ia=ia.getLocalHost();
			
			String localip=ia.getHostAddress();
			//String localname=ia.getHostName();
			//System.out.println("本机名称:"+ localname);
			//System.out.println("本机的ip :"+localip);
			
			return localip;
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		return "127.0.0.1";
	}
	
}

### Vue3 中使用 Element Plus 的 `el-form` 组件实现手机号和邮箱的校验 为了在 Vue3 和 Element Plus 中设置表单校验规则,可以按照如下方式配置: #### 创建 Form 数据模型 定义数据对象用于存储输入框中的值。 ```javascript const form = reactive({ phone: '', email: '' }); ``` #### 定义校验规则 通过 `rules` 对象来指定各个字段的具体校验逻辑。对于手机号码和电子邮件地址,通常会应用正则表达式来进行格式验证。 ```javascript import { required, pattern } from '@vuelidate/validators'; // 假设引入了 vuelidate 库作为辅助工具 // 或者自定义函数形式的validator function validateEmail(value) { const regex = /^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/; return regex.test(String(value).toLowerCase()); } function validatePhone(value) { const regex = /^1\d{10}$/; // 简化的中国大陆手机格式匹配 return regex.test(String(value)); } const rules = computed(() => ({ phone: [ { validator: validatePhone, message: '请输入有效的手机号', trigger: ['blur'] } ], email: [ { type: 'email', message: '请输入合法的邮箱地址', trigger: ['blur', 'change'] }, { validator: validateEmail, message: '请输入有效的电子邮箱', trigger: ['blur'] } ] })); ``` #### 设置模板结构并关联 Refs 及 Rules 属性 确保 `<el-form>` 标签内包含了必要的属性绑定,以便能够正确触发校验流程[^1]。 ```html <template> <div class="demo"> <el-form :model="form" :rules="rules" ref="ruleFormRef"> <!-- 手机号码 --> <el-form-item label="手机号" prop="phone"> <el-input v-model="form.phone"></el-input> </el-form-item> <!-- 邮箱 --> <el-form-item label="邮箱" prop="email"> <el-input v-model="form.email"></el-input> </el-form-item> <el-button @click="submitForm">提交</el-button> </el-form> </div> </template> ``` #### 提交按钮事件处理程序 当点击提交按钮时调用此方法执行整个表单的有效性检查,并根据结果采取相应操作。 ```javascript async function submitForm() { try { await ruleFormRef.value.validate((valid) => { if (valid) { console.log('submit!'); } else { console.error('error submit!!'); return false; } }); } catch (err) { console.warn(err); } } ``` 以上就是如何利用 Vue3 结合 Element Plus 来构建带有手机号和邮件地址校验功能的表单项的方法[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值