如何用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>
---------------------------------------------------------------------------------------------------------------------