php 正则匹配包含字母、数字以及下划线,且至少包含2种

新系统注册功能需对用户名和密码做以下要求:包含字母、数字以及下划线,且至少包含2种;

在网上没有搜到符合要求的代码,于是自己对他人代码做了一点修改,经测试满足要求。代码如下:

if (!preg_match(‘/^(?![0-9]+$)(?![_]+$)(?![a-zA-Z]+$)[A-Za-z_0-9]{1,}$/‘,$string)) {
    return [‘result‘ => false, ‘msg‘ => ‘只能包含字母、数字以及下划线,且至少包含2种‘];
}

原文地址:https://www.cnblogs.com/zzeng347/p/9876762.html

时间: 2024-11-05 07:41:49

php 正则匹配包含字母、数字以及下划线,且至少包含2种的相关文章

js中用户名的正则(字符,数字,下划线,减号)

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body> <h2> Javascript </h2> <!-- <script> var str = 'adcdefg';//用户名 var reg = /^[a-zA-Z

正则表达式验证6~30位数字,下划线,中划线,字母任意两种混合的密码验证策略

需求要求: 位数为6~30位 至少包含字母.数字.下划线_.中划线-中的两种 正则表达式: js表达式: ^(?!^[\d]+$)(?!^[-]+$)(?!^[_]+$)(?!^[a-zA-Z]+$)[\w-]{6,30}$ java表达式-字符串: "^(?!^[\\d]+$)(?!^[-]+$)(?!^[_]+$)(?!^[a-zA-Z]+$)[\\w-]{6,30}$" 解析: 至少四种中的两种也可以解释为为不是纯数字.不是纯字母.不是纯下划线,不是纯中划线 测试用例: 1234

java代码验证用户名,支持中英文(包括全角字符)、数字、下划线和减号 (全角及汉字算两位),长度为4-20位,中文按二位计数

package com.sangedabuliu.www; import java.util.regex.Matcher; import java.util.regex.Pattern; public class UserReg { /** * 验证用户名,支持中英文(包括全角字符).数字.下划线和减号 (全角及汉字算两位),长度为4-20位,中文按二位计数 * @author www.sangedabuliu.com * @param userName * @return */ public

正则匹配汉字、数字、字母和指定符号.

项目中用到了这个表达式要求只匹配汉字.数字.字母跟逗号,最终得到以下代码 function stripscript(str){ //这里\,,就是只允许匹配小写","号跟中文的","号,如有其它需求可自行在后面添加 var reg =/^[a-zA-Z0-9\u4e00-\u9fa5\,,]+$/; if(pattern.test(str)){ return "验证通过"; }else{ return "只能是汉子.字母跟数字"

完整校验密码不能是连续字符,6-20位,必须包含字母数字特殊字符

修改密码方法: function changePwd(){ var oldPwd = $("#oldPwd").val(); var newPwd = $("#newPwd").val(); var newPwd2 = $("#newPwd2").val(); if(oldPwd=="" ||oldPwd==null){ bt_alert('提示','登录密码不能为空'); return; } if(newPwd=="

iphone 微信下浏览器中数字去除下划线

在开发iphone应用程序的时候,safari下手机号码默认是有下划线的,通过下面的方法就可以去掉: <meta name="format-detection" content="telephone=no" />

检测字符串中是否包含汉字;检测字符串中只能包含:中文、数字、下划线(_)、横线(-)

public static boolean checkChinese(String sequence) { final String format = "[\\u4E00-\\u9FA5\\uF900-\\uFA2D]"; boolean result = false; Pattern pattern = Pattern.compile(format); Matcher matcher = pattern.matcher(sequence); result = matcher.find

正则匹配英文和数字

item_weight = '1.8 inches' weight_re = re.findall(r'([1-9]\d*.\d*|0.\d*[1-9]\d*|\d+) ([a-z\s]*)', item_weight) 原文地址:https://www.cnblogs.com/fh-fendou/p/9322751.html

正则匹配规则

//1.字面量  --  眼见为实 // var str = 'sajkgdakgaksfgaksgtakuwgfjmaszgdfaksghdfasikld'; // var reg = /sa/; // var res = str.match(reg); // console.log(res); //2.元字符 // 反斜杠\ 转义 //2.1 +号 需要转义 // var str = 'sajkgd+ksfg32aksgtaku56wgfjma-szgdf+34435aksghdfa2sik