这是另外一个朋友教我的,可能有问题,
要求:如下
昵称:长度最多为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 正则表达式
要求:如下
昵称:长度最多为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 正则表达式
解决方案 »
- 请教一个控制图片播放的js代码
- 点击左边连接,右边的content区域的div内显示相应的内容
- 求助:setInterval()的函数里设置CSS属性不起作用!?
- 关于测试字符串不为空的困惑。(怎样才算真正不为空?)
- 怎么用表单select中onchange事件提交到数据库
- 弹出带有三键的对话框,有“是”,“否”,“取消”的对话框
- 大家好 我用parent.left.document.open();
- 用一组数据绘制曲线图,当点击曲线图上的点时,如何取到该点的数据--急!!!
- 如何让鼠标移动到链接上时,在状态栏显示信息,急!!!
- jquery table中点击某一行的按钮,获取这一行checkbox的选中状态 急求大佬解决,快崩溃了,搜的方法都不管用。。。
- 请高手来帮小弟实现加载动画效果并在固定位置画一圈点。
- 请教:关于jquery的$.get()异步的问题
function checkname(v) {
var rx = /[a-z\d]/i, rxcn = /[\x4e00-\x9fa5]/, num = 0;
for (var i = 0, j = v.length; i < j; i++) {
if (rx.test(v[i])) num += 1;
else if (rxcn.test(v[i])) num += 2;
else return false;
}
if (num < 1 && num > 10) return false;
return true;
}
$("#usernick").blur(function () {
$(this).css("background-color", "#fff");
if ($.trim($("#usernick").val()).length > 0) {
if (!checkname($.trim($("#usernick").val()))) {
$("#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();
}
});
var rx = /[a-z\d]/i, rxcn = /[\u4e00-\u9fa5]/, num = 0;////
for (var i = 0, j = v.length; i < j; i++) {
if (rx.test(v[i])) num += 1;
else if (rxcn.test(v[i])) num += 2;
else return false;
}
if (num < 1 || num > 10) return false;/////这个是||,写成&&了
return true;
}
现在代码如下:
function checkname(v) {
var rx = /[a-zA-Z\d]/i, rxcn = /[\u4e00-\u9fa5]/, num = 0;
for (var i = 0, j = v.length; i < j; i++) {
if (rx.test(v[i])) num += 1;
else if (rxcn.test(v[i])) num += 2;
else return false;
}
if (num < 1 || num > 10) return false;
return true;
} if (!checkname($.trim($("#usernick").val()))) {
alert("昵称格式不正确!");
return false;
}
function checkname(v) {
var rx = /[a-z\d]/i, rxcn = /[\u4e00-\u9fa5]/, num = 0;
for (var i = 0, j = v.length; i < j; i++) {
if (rx.test(v[i])) num += 1;
else if (rxcn.test(v[i])) num += 2;
else return false;
}
if (num < 1 && num > 10) return false;
return true;
} if (!checkname($.trim($("#usernick").val()))) {
alert("昵称格式不正确!");
return false;
} 我发现在IE8.0也就是说在我本机上,表达式可以过滤了,目前所有版本都可以用,但是在虚拟机中用ie6.0访问本机网页时,发现过滤不了,在其它笔记本中也运行也win7系统也发现不能过滤,请问大哥,这个是什么原因啊?
自己以前发现过,久了搞忘记了。。 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; alert('1-' + v[i]) }
else if (rxcn.test(chr)) { num += 2; alert('CN'); }
else return false;
}
if (num < 1 && num > 10) return false;
return true;
}
alert(checkname('@'))
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;
}