| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7221 人关注过本帖
标题:如何用JS判断文本框中的字符长度?
只看楼主 加入收藏
towering
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:261
专家分:507
注 册:2007-10-9
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
如何用JS判断文本框中的字符长度?
我有个人民币小写转大写的程序和

有两个文本框:
首先是从数据库读取金额的多少<input name="num" type="text" class="input" id="tnum" value="<%=jine%>" size="3">
然后转为大写在这个的文本框中输出<input name="result" type="text" class="input" id="result" value="" size="18">

现在的大写输出的文本框长度是18,但是金额的多少是不固定的,也就是说大写的那个文本框的长度不是固定的。有时候是10,也可能是50.
在ASP中有个Lan函数可以直接得到字符的长度,我想用JS来得到这个要输出的字符串的长度,然后赋值给大写文本框的size,这样就不会出现文本框过大和过小的问题了。

请问应该怎么实现?

谢谢!


下面是小写转大写的程序:
<script language="javascript">
function convertMoneyFormat(money)        //将金额数money转为大写金额形式
{
    var unitArrayI=new Array();
    var unitArrayP=new Array();
    var numberArray=new Array();
    var resault="";
    var len;
    var Pnum;
    var Ppint;
    var unitFlag=false;
    if(money==""||isNaN(money))
        return "";
    unitArrayP[0]="角";
    unitArrayP[1]="分";
    
    unitArrayI[1]="亿";
    unitArrayI[2]="拾";
    unitArrayI[3]="佰";
    unitArrayI[4]="仟";
    unitArrayI[5]="万";
    unitArrayI[6]="拾";
    unitArrayI[7]="佰";
    unitArrayI[8]="仟";
    
    numberArray[0]="零";
    numberArray[1]="壹";
    numberArray[2]="贰";
    numberArray[3]="叁";
    numberArray[4]="肆";
    numberArray[5]="伍";
    numberArray[6]="陆";
    numberArray[7]="柒";
    numberArray[8]="捌";
    numberArray[9]="玖";
    len=String(money);
    Pnum=String(money).split(".");
    for(i=0;i<Pnum[0].length;i++)
    {
        j=((Pnum[0].length-1-i)%8)+1;
        switch(String(Pnum[0]).charAt(i))
        {    
            case "0": if(String(Pnum[0]).charAt(i+1)==""&&String(Pnum[0]).charAt(i-1)==""||String(Pnum[0]).charAt(i+1)!="0"&&j!=1&&j!=5) {resault+=numberArray[0];}break;
            case "1": resault+=numberArray[1];unitFlag=true;break;
            case "2": resault+=numberArray[2];unitFlag=true;break;
            case "3": resault+=numberArray[3];unitFlag=true;break;
            case "4": resault+=numberArray[4];unitFlag=true;break;
            case "5": resault+=numberArray[5];unitFlag=true;break;
            case "6": resault+=numberArray[6];unitFlag=true;break;
            case "7": resault+=numberArray[7];unitFlag=true;break;
            case "8": resault+=numberArray[8];unitFlag=true;break;
            case "9": resault+=numberArray[9];unitFlag=true;break;            
        }
        if(i==Pnum[0].length-1)
        {
            resault+="圆";
        }        
        else if((j==1||j==5)&&unitFlag)
        {
            resault+=unitArrayI[j];
            unitFlag=false;                        
                
        }
        else if(String(Pnum[0]).charAt(i)!="0"&&unitFlag==true)
        {
            resault+=unitArrayI[j];
            
        }
    }
    if(Pnum[0].length==0)
    {
        resault+=numberArray[0];
        resault+="圆";
    }
    if(Pnum.length==1)
    {
        resault+="整";
    }
    else if(Pnum[1].search(/[^0]/)==-1)
    {
        resault+="整";    
    }
    else
    {
        for(i=0;i<Pnum[1].length&&i<2;i++)
        {
            switch(String(Pnum[1]).charAt(i))
            {    
                case "0": if(String(Pnum[1]).charAt(i+1)!="0") {resault+=numberArray[0];}break;
                case "1": resault+=numberArray[1];break;
                case "2": resault+=numberArray[2];break;
                case "3": resault+=numberArray[3];break;
                case "4": resault+=numberArray[4];break;
                case "5": resault+=numberArray[5];break;
                case "6": resault+=numberArray[6];break;
                case "7": resault+=numberArray[7];break;
                case "8": resault+=numberArray[8];break;
                case "9": resault+=numberArray[9];break;            
            }
            resault+=unitArrayP[i];
        }
    }
    return resault;
}
</script>







---------------------------------------------------------------------------------------------------------------------
搜索更多相关主题的帖子: 文本 字符 长度 判断 
2009-07-29 13:04
hell_liul
Rank: 2
等 级:论坛游民
帖 子:29
专家分:57
注 册:2009-6-11
收藏
得分:0 
是这个意思吗?
<HTML>
 <BODY>
  <INPUT TYPE="text" NAME="num" size='10' onblur='aa()' ><br>
  <INPUT TYPE="text" NAME="numbig" size='20'>
 </BODY>
</HTML>
<SCRIPT LANGUAGE="JavaScript">
<!--
function aa()
{
//可以改变size的属性
    alert(document.getElementsByName("numbig")[0].size= 3 * document.getElementsByName("num")[0].size);
}

//-->
</SCRIPT>
2009-07-29 16:44
towering
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:261
专家分:507
注 册:2007-10-9
收藏
得分:0 
可能是我的帖子的内容有点多了,吓得大家都不敢看了。

其实就是想得到那个大写的人民币的长度,然后让size等于那个值。

这样文本框就能把文本框中的字符全部显示了。



我试了下面两种方法都不行:

<input   type= "text "   ID= "inputname "   name= "inputname" value="123456789123456789123456789123456789123456789" size="<script language='javascript'>document.write(document.getElementById( "inputname ").value.length)</script>">


<input   type= "text "   ID= "inputname "   name= "inputname" value="123456789123456789123456789123456789123456789" size="<script language='javascript'>document.write(document.form1.inputname.value.length)</script>">


请大侠给改正一下。

谢谢!
2009-07-29 20:46
towering
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:261
专家分:507
注 册:2007-10-9
收藏
得分:0 
自己顶一下!

我的ASP小站:http://www./
2009-07-30 08:24
weitang
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:8
专家分:100
注 册:2009-8-4
收藏
得分:20 
应该写在body的onload事件中

<html>
<head>
<script>
function init(){
  var text = convertMoneyFormat(document.getElementById("tnum").value);
  document.getElementById("result").size=text.length;
}
</script>
</head>
<body onload="init()">
首先是从数据库读取金额的多少
<input name="num" type="text" class="input" id="tnum" value="<%=jine%>" size="3">
然后转为大写在这个的文本框中输出
<input name="result" type="text" class="input" id="result" value="" size="18">

</body>
</html>
2009-08-04 17:19
快速回复:如何用JS判断文本框中的字符长度?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034198 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved