关于昵称的正则表达式的编写请求帮助
这是另外一个朋友教我的,可能有问题,
要求:如下
昵称:长度最多为5个汉字或10个字母\数字。
并且是混合组合,也就是如:"9sdf你好"也是正确的昵称,
分不多,给80分
$("#usernick").blur(function(){
$(this).css("background-color","#fff");
//var re = /([^\u4E00-\u9FA5\uf900-\ufa2d\w]|[_])/g;
var re =/[a-zA-Z0-9]{1,10}|[\x4e00-\x9fa5]{1,5}/g;
if ($.trim($("#usernick").val()).length>0){
var limit = $.trim($("#usernick").val()).replace(/([^\x00-\xff])/g,'aa').length;
if (!re.test($.trim($("#usernick").val()))) {
if (limit>10){
$("#nick_msg").html("<div class=pic></div><font color='#FFFFFF'>昵称格式不正确!</font>").show();
}
}else
{
$("#nick_msg").html("<font color='#FFFFFF'>昵称格式正确!</font>").show();
}
}else
{
$("#nick_msg").html("<div class=pic></div><font color='#FFFFFF'>昵称不能为空!</font>").show();
}
});
php?
正则表达式
------解决方案--------------------赋值你的代码,没注意你没按照#4修改判断提交,是
------解决方案--------------------不是&&,用下面的更新你的checkname函数
function checkname(v) {
var rx = /[a-z\d]/i, rxcn = /[\u4e00-\u9fa5]/, num = 0, chr;
for (var i = 0, j = v.length; i < j; i++) {
chr = v.charAt(i);/////////
if (rx.test(chr)) num += 1;
else if (rxcn.test(chr)) num += 2;
else return false;
}
if (num < 1
------解决方案--------------------
num > 10) return false;/////////
return true;
}