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