用户验证5-20个字符(包括小写字母、数字、下划线、中文),

时间:2022-04-25 00:32:39
淘宝注册的的用户验证5-20个字符(包括小写字母、数字、下划线、中文),一个汉字为两个字符 
这个如何写js判断呀,

5 个解决方案

#1


<script>
function test(val, min, max){
var reg = /[^\u4e00-\u9fa5\w]/;
if(!reg.test(val)){
var val = val.replace(/[\u4e00-\u9fa5]/g,'aa');
return(val.length >= min && val.length<=max);
}
return false;
}

alert(test('*', 5, 15)); // true
alert(test('*呵', 5, 15)); // false
</script>

#2


function checkUsername(s)
{
//要求:5-20位字符,允许汉字,英文字母,数字和下划线,不能是纯数字
if(s.length<=5 || s.length>=20)
{
return false;
}
var reg=new RegExp("^[_\\da-zA-Z0-9\\u4e00-\\u9fa5]*$","g");
var reg2=new RegExp("^[0-9]*$","g");
var rs=s.search(reg);
var rs2=s.search(reg2);
if(rs!=-1 && rs2==-1 && s!='')
{
return true;
}
else
{
return false;
}
}

#3


<script>
function checkText(val)
{
  var reg=/^[_a-zA-Z0-9\u4e00-\u9fa5]+$/;
  if(reg.test(val))
  {
    var val = val.replace(/[\u4e00-\u9fa5]/g,'xx');
    if(val.length>= 5 && val.length<=20)
    {
      alert('true');
    }
    else
    {
      alert('false');
    }
  }
  else
  {
    alert('false');
  }
}
</script>
<input onblur="checkText(this.value)" />

#4


把楼上的综合了一下,结果
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>

<script language="javascript">
//验证字符串长度,每个汉字长度为2
function checkLength(s, min, max){
   var reg = /[^\u4e00-\u9fa5\w]/;
   if(!reg.test(val)){
      var val = s.replace(/[\u4e00-\u9fa5]/g,'aa');
      return (val.length >= min && val.length<=max);
   }
   return false;
}

//要求:5-20位字符,允许汉字,英文字母,数字和下划线,不能是纯数字 
function checkUsername(s) 

  //5-20位字符
  if(!checkLength(s, 5, 20)) 
  { 
     return false; 
  } 
  var reg = new RegExp("^[_\\da-zA-Z0-9\\u4e00-\\u9fa5]*$","g");  //允许汉字,英文字母,数字和下划线
  var reg2 = new RegExp("^[0-9]*$","g");   //不能是纯数字 
  var rs = s.search(reg); 
  var rs2 = s.search(reg2); 
  if(rs!=-1 && rs2==-1 && s!='') 
  { 
     return true; 
  } 
  else 
  { 
     return false; 
  } 
}

alert("中文长度验证" + checkLength('中华人', 5, 20));  //
alert(checkUsername('中华人'));  //
alert(checkUsername('中华人民234'));  //  
alert(checkUsername('中华人as2AS_')); //  
alert(checkUsername('123123123'));    //  

</script>

</BODY>
</HTML>

#5


xuexi

#1


<script>
function test(val, min, max){
var reg = /[^\u4e00-\u9fa5\w]/;
if(!reg.test(val)){
var val = val.replace(/[\u4e00-\u9fa5]/g,'aa');
return(val.length >= min && val.length<=max);
}
return false;
}

alert(test('*', 5, 15)); // true
alert(test('*呵', 5, 15)); // false
</script>

#2


function checkUsername(s)
{
//要求:5-20位字符,允许汉字,英文字母,数字和下划线,不能是纯数字
if(s.length<=5 || s.length>=20)
{
return false;
}
var reg=new RegExp("^[_\\da-zA-Z0-9\\u4e00-\\u9fa5]*$","g");
var reg2=new RegExp("^[0-9]*$","g");
var rs=s.search(reg);
var rs2=s.search(reg2);
if(rs!=-1 && rs2==-1 && s!='')
{
return true;
}
else
{
return false;
}
}

#3


<script>
function checkText(val)
{
  var reg=/^[_a-zA-Z0-9\u4e00-\u9fa5]+$/;
  if(reg.test(val))
  {
    var val = val.replace(/[\u4e00-\u9fa5]/g,'xx');
    if(val.length>= 5 && val.length<=20)
    {
      alert('true');
    }
    else
    {
      alert('false');
    }
  }
  else
  {
    alert('false');
  }
}
</script>
<input onblur="checkText(this.value)" />

#4


把楼上的综合了一下,结果
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>

<script language="javascript">
//验证字符串长度,每个汉字长度为2
function checkLength(s, min, max){
   var reg = /[^\u4e00-\u9fa5\w]/;
   if(!reg.test(val)){
      var val = s.replace(/[\u4e00-\u9fa5]/g,'aa');
      return (val.length >= min && val.length<=max);
   }
   return false;
}

//要求:5-20位字符,允许汉字,英文字母,数字和下划线,不能是纯数字 
function checkUsername(s) 

  //5-20位字符
  if(!checkLength(s, 5, 20)) 
  { 
     return false; 
  } 
  var reg = new RegExp("^[_\\da-zA-Z0-9\\u4e00-\\u9fa5]*$","g");  //允许汉字,英文字母,数字和下划线
  var reg2 = new RegExp("^[0-9]*$","g");   //不能是纯数字 
  var rs = s.search(reg); 
  var rs2 = s.search(reg2); 
  if(rs!=-1 && rs2==-1 && s!='') 
  { 
     return true; 
  } 
  else 
  { 
     return false; 
  } 
}

alert("中文长度验证" + checkLength('中华人', 5, 20));  //
alert(checkUsername('中华人'));  //
alert(checkUsername('中华人民234'));  //  
alert(checkUsername('中华人as2AS_')); //  
alert(checkUsername('123123123'));    //  

</script>

</BODY>
</HTML>

#5


xuexi