输入框要求用JAVASCRIPT去验证不能超过12个数字或英文或数字英文组合,还要求不能超过6个汉字,还要验证汉字和字母,数字的组合 ...

<input name="username" value="" length="12" maxlengthd="12"/>
数据库里面username vachar2(12)

这个输入框要求用JAVASCRIPT去验证不能超过12个数字或英文或数字英文组合,还要求不能超过6个汉字,还要验证汉字和字母,数字的组合

如:用户名1999(就可以),麦克斯韦1999(就不行)

因为数据库里面要求的长度是12,一个汉字就占两个,但是在页面可以输入12个汉字
请用JAVASCRIPT写出你的解决方案?



<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
输入待测字串:  <input type="text" onblur="test(this.value);">
</html>
<script language="javascript">
<!--
//测试匹配情况
function test(inputVal)
{
//去除首尾空格
inputValinputVal = inputVal.replace(/^\s*|\s*$/g,"");
//零长字串不作处理
if ( inputVal.length == 0 )
{
return;
}
//只能匹配数字,字母或汉字
var _match = inputVal.match(/^[a-zA-Z0-9\u4e00-\u9fa5]+$/g);
//匹配数字或字母(包括大小写)
var codeMatch = inputVal.match(/[a-zA-Z0-9]/g);
//匹配汉字
var charMatch = inputVal.match(/[\u4e00-\u9fa5]/g);
//数字或字母个数
var codeNum = codeMatch ? codeMatch.length : 0;
//汉字个数
var charNum = charMatch ? charMatch.length : 0;
//成功
if ( _match && codeNum + 2*charNum <= 12 )
{
alert("输入正确!");
return;
}
//失败
alert("输入错误!");
}
//-->
</script>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值