用户名正则表达式、含中文、长度为4-16个字符。

作者:enenba | 发表于:2012-04-16 22:52 | 分类:正则表达式

问:

求一正则表达式 由于判断用户注册时的用户名,要求既支持中文,又支持英文字符,不能以数字开头。限制为4-16个字符。

 

答:

[a-zA-Z\xa0-\xff_]小写大写英文,或者中文,或者下划线开头
[0-9a-zA-Z\xa0-\xff_]后面的内容可以是小写大写中文数字下划线
[0-9a-zA-Z\xa0-\xff_]{3,15}后面的内容重复3-15次

 

所以整个正则表达式为[a-zA-Z\xa0-\xff_][0-9a-zA-Z\xa0-\xff_]{3,15}
也可以加上开头结尾锚记^[a-zA-Z\xa0-\xff_][0-9a-zA-Z\xa0-\xff_]{3,15}$

 

 

<?php
function isusername($str) {
	if (preg_match('/^[a-zA-Z\xa0-\xff_][0-9a-zA-Z\xa0-\xff_]{3,15}$/',$str)){
		return true;
	}else {
		return false;
	}
}

$username = 'abcde123';
if(isusername($username)) {
	echo '符合';
}else {
	echo '不符合';
}
//output  符合


echo '<br>';
$username = '1abcdeasdas_1324';
if(isusername($username)) {
	echo '符合';
}else {
	echo '不符合';
}
//output  不符合
?>

end

附件下载/演示源码:
username.htm7.07KB

上一篇: php验证时间格式,只有年月日   |   下一篇:javascript 中的的RegExp()对象» 标签: 正则 正则匹配 正则表达式

评论: