JS 控制文本空输入文字个数相关。

来源:互联网 发布:video.js ie8 编辑:程序博客网 时间:2024/06/06 20:40

摘要PS:

控制范围:文本输入byte数判断,全半角判断,不同文言显示,最后是删除多余字节数文言。

Code Sample:

<Head...>

.........

 <script language="javascript" type="text/javascript">

function formatText(text, length) {
             var maxLength = new Number(length); // Change number to your max length.

             var str = document.getElementById('txaComment').value;
             
             var iBLen = 0;
             var strBLen = 0;
             for (i = 0; i < str.length; i++) {
                 if (str.charCodeAt(i) < 27 || str.charCodeAt(i) > 126) {// 全角
                     iBLen += 2;
                 } else {
                    iBLen++;
                 }
             }

             strBLen = iBLen;
             
             var iLen = 0;
             var oLen = 0;
             var justMsg = "输入文字数已经到达最大数位。"
             var overMsg = "输入文字数已经超过最大数位。";
             var aPartMsg = "";
             var bPartMsg = "(※全角文字是2位。最大" + maxLength + "位、现在是" + strBLen + "位。)";
             var alertMsg = "";
             for(i = 0; i < str.length; i++){


                 if (iLen < maxLength ) {
                     if (str.charCodeAt(i) < 27 || str.charCodeAt(i) > 126) {// 全角
                         iLen += 2;
                     } else {
                         iLen++;
                     }
                 }

                 if (iLen > maxLength ) {
                     oLen = i;
                     aPartMsg = overMsg;
                     alertMsg = aPartMsg + bPartMsg;
                     alert(alertMsg);
                     break;
                 }
                 else if(iLen == maxLength ) {
                     oLen = i + 1;

                     if (strBLen == maxLength ) {
                         aPartMsg = justMsg;
                     }
                     else if (strBLen > maxLength ) {
                         aPartMsg = overMsg;
                     }

                     alertMsg = aPartMsg + bPartMsg;
                     alert(alertMsg);
                     break;
                 }
             }

             if (oLen > 0) {
                 text.value = text.value.substring(0, oLen);
             }
         }

</script>

</Head>

.........

<body ...>

<table...>

<tr>

<td align=center>
<asp:TextBox ID="txtComment" runat="server" TextMode="MultiLine" Width="90%" onKeyUp="javascript:Count(this,20);"
MaxLength="20" TabIndex="1" Height="100px">

</asp:TextBox>
</td>
</tr>

</table>

</body>



0 0