<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>