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;
});
});
英文字母:[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;
});
});
相关文章推荐
- 利用正则表达式, 验证控制文本框的输入字符类型
- 利用正则表达式, 验证控制文本框的输入字符类型
- 利用正则表达式, 验证控制文本框的输入字符类型
- 利用正则表达式, 验证控制文本框的输入字符类型
- 利用正则表达式验证控制文本框的输入字符类型
- 利用正则表达式, 验证控制文本框的输入字符类型
- JS控制用户只能输入分数和小数,每次输入验证
- 利用正则表达式, 验证控制文本框的输入字符类型
- 利用正则表达式, 验证控制文本框的输入字符类型
- JS控制文本框只能输入N个字符.
- 利用正则表达式, 验证控制文本框的输入字符类型
- 利用正则表达式, 验证控制文本框的输入字符类型
- 利用正则表达式, 验证控制文本框的输入字符类型
- 利用正则表达式, 验证控制文本框的输入字符类型
- 利用正则表达式验证控制文本框的输入字符类型
- 利用正则表达式, 验证控制文本框的输入字符类型 (转自ben)
- 利用正则表达式, 验证控制文本框的输入字符类型
- 利用正则表达式, 验证控制文本框的输入字符类型
- js控制输入框输入字符数 客户端textarea与服务器端textBox的使用区别
- 利用正则表达式, 验证控制文本框的输入字符类型