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

xiaoxiao2023-01-26  55

<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>
转载请注明原文地址: https://www.6miu.com/read-4980786.html

最新回复(0)