您的位置:首页 > Web前端 > JavaScript

JS验证用户名、验证标题实时控制剩余输入字符数

2014-07-18 15:48 246 查看
匹配中文:[\u4e00-\u9fa5]

英文字母:[a-zA-Z]

数字:[0-9]

匹配中文,英文字母和数字及_:

^[\u4e00-\u9fa5_a-zA-Z0-9]+$

同时判断输入长度:

[\u4e00-\u9fa5_a-zA-Z0-9_]{4,10}

^[\w\u4E00-\u9FA5\uF900-\uFA2D]*$ 1、一个正则表达式,只含有汉字、数字、字母、下划线不能以下划线开头和结尾:

^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$ 其中:

^ 与字符串开始的地方匹配

(?!_)  不能以_开头

(?!.*?_$)  不能以_结尾

[a-zA-Z0-9_\u4e00-\u9fa5]+  至少一个汉字、数字、字母、下划线

$  与字符串结束的地方匹配

放在程序里前面加@,否则需要\\进行转义 @"^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$"

(或者:@"^(?!_)\w*(?<!_)$" 或者 @" ^[\u4E00-\u9FA50-9a-zA-Z_]+$ " )

2、只含有汉字、数字、字母、下划线,下划线位置不限:

^[a-zA-Z0-9_\u4e00-\u9fa5]+$

3、由数字、26个英文字母或者下划线组成的字符串

^\w+$

4、2~4个汉字

@"^[\u4E00-\u9FA5]{2,4}$";

5、

^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$

用:(Abc)+ 来分析: XYZAbcAbcAbcXYZAbcAb

本人写的项目中是,只要求用户名为英文或汉字,验证汉字时需要用反斜杠\转义

function chkUsername() {

var username = $.trim($("#username").val());

if(username=="") {

return 0;

}

else if(username.length<4 || username.length>20 ){

//合法长度为6-18个字符

return -1;

}

else if(! /^[a-z\u4E00-\u9FA5A-Z]*$/.test( username ) ){

//用户名只能包含汉字,英文

return -2;

}

return 1;

}

$(document).ready(function(){

/** ----------- 用户名输入框事件 ----------- */

//当文本框成为焦点时

$("#username").bind("focus", function(){

var ret=chkUsername();

if(ret==0){

//用户名输入框为空,显示规则

$("#div_uname_err_info").hide();

$("#div_uname_rule").show();

}

return false;

});

//当文本框失去焦点时

$("#username").bind("blur", function(){

var ret=chkUsername();

$("#div_uname_rule").hide();

$("#div_uname_err_info").show();

if (ret>0){

$("#div_uname_err_info").html("一旦注册成功不能更改!");

}

else if(ret==0){

//用户名输入框为空,显示规则

$("#div_uname_err_info").html("用户名不能为空");

}

else {

if(ret == -1){

$("#div_uname_err_info").html("长度不正确:合法长度为4-20个汉字或英文");

}

else if(ret == -2){

$("#div_uname_err_info").html("格式不正确:用户名仅含汉字或英文 ");

}

}

return false;

});

});

//初始标题长度,必须表明为全局变量

var numobj=$("#num").html();

//验证标题

$("#title").bind("focus", function(){

//实现实时控制剩余输入字符数

$(document).keyup(function() {

var title = $("#title").val();

//剩余输入字符数

var restnum=numobj-title.length;

if(restnum<=0){

restnum=0;

}

$("#num").html(restnum);

$("#title").val(title.toString().substring(0,numobj-restnum));

});

return false;

});

//当文本框失去焦点时

$("#title").bind("blur", function(){

var title=$("#title").val();

$("#div_title_err_info").show();

if(title==""){

//标题输入框为空,显示规则

$("#div_title_err_info").html("标题不能为空");

}else if(title.length<4){

$("#div_title_err_info").html("标题长度不符合,必须在4-100字符以内");

}else if(title.length>=4){

$("#div_title_err_info").html("");

}

return false;

});

});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: