当前位置:编程学习 > C#/ASP.NET >>

js 判断输入整数的位数

      小弟我想利用 js 实现一下这个功能.通过对某个变量(数字)利用某个方法可以判断其是几位数,比如10为2位数字,100为3位数字.而通过获得位数的不一样进而进行不同的操作.如果是10那么就性行某一操作.如果是白那么就进行另一操作.当然估计这要用到switch()
小弟的js部分代码如下
case 1 : //模式1 (10页缩略,首页,前页,后页,尾页)
        
//this.page 便是我要判断的数字根据数字的位树的大小进行不同的操作

switch(判断位数操作的结果)
case 十位数字:
    strHtml += '<span class="count">Pages: ' + this.page + ' / ' + this.pageCount + '</span>';
    strHtml += '<span class="number">';
   
    if (prevPage < 1) 
{
     strHtml += '<span title="First Page">«</span>';
     strHtml += '<span title="Prev Page">‹</span>';
    } 
else    
{
     //这里toPage的意思是返回一个 Url 地址和地址中的参数
     strHtml += '<span title="First Page"><a href="javascript:' + this.name + '.toPage(1);">«</a></span>';
     strHtml += '<span title="Prev Page"><a href="javascript:' + this.name + '.toPage(' + prevPage + ');">‹</a></span>';
    }

    if (this.page % 10 == 0) 
{
     var startPage = this.page - 9;
    } 
else 
{
     var startPage = this.page - this.page % 10 + 1;
   }

    if (startPage > 10) 

//前十页 "..." 的显示
strHtml += '<span title="Prev 10 Pages"><a href="javascript:' + this.name + '.toPage(' + (startPage - 1) + ');">...</a></span>';
   
     for (var i = startPage; i < startPage + 10; i++) 
{
     if (i > this.pageCount) 
break;

     if (i == this.page) 
{
      strHtml += '<span title="Page ' + i + '">[' + i + ']</span>';
     } 
else 
{
      strHtml += '<span title="Page ' + i + '"><a href="javascript:' + this.name + '.toPage(' + i + ');">[' + i + ']</a></span>';
     }
    }

   if (this.pageCount >= startPage + 10) 
//后十页 "..." 的显示
strHtml += '<span title="Next 10 Pages"><a href="javascript:' + this.name + '.toPage(' + (startPage + 10) + ');">...</a></span>';

    if (nextPage > this.pageCount) 
{
     strHtml += '<span title="Next Page">›</span>';
     strHtml += '<span title="Last Page">»</span>';
    } 
else 
{
     strHtml += '<span title="Next Page"><a href="javascript:' + this.name + '.toPage(' + nextPage + ');">›</a></span>';
     strHtml += '<span title="Last Page"><a href="javascript:' + this.name + '.toPage(' + this.pageCount + ');">»</a></span>';
    }

    strHtml += '</span>';
break;

case 白位数字:
    strHtml += '<span class="count">Pages: ' + this.page + ' / ' + this.pageCount + '</span>';
    strHtml += '<span class="number">';
   
    if (prevPage < 1) 
{
     strHtml += '<span title="First Page">«</span>';
     strHtml += '<span title="Prev Page">‹</span>';
    } 
else    
{
     //这里toPage的意思是返回一个 Url 地址和地址中的参数
     strHtml += '<span title="First Page"><a href="javascript:' + this.name + '.toPage(1);">«</a></span>';
     strHtml += '<span title="Prev Page"><a href="javascript:' + this.name + '.toPage(' + prevPage + ');">‹</a></span>';
    }

    if (this.page % 100 == 0) 
{
     var startPage = this.page - 99;
    } 
else 
{
     var startPage = this.page - this.page % 100 + 1;
   }

    if (startPage > 100) 

//前十页 "..." 的显示
strHtml += '<span title="Prev 10 Pages"><a href="javascript:' + this.name + '.toPage(' + (startPage - 1) + ');">...</a></span>';
   
     for (var i = startPage; i < startPage + 100; i++) 
{
     if (i > this.pageCount) 
break;

     if (i == this.page) 
{
      strHtml += '<span title="Page ' + i + '">[' + i + ']</span>';
     } 
else 
{
      strHtml += '<span title="Page ' + i + '"><a href="javascript:' + this.name + '.toPage(' + i + ');">[' + i + ']</a></span>';
     }
    }

   if (this.pageCount >= startPage + 100) 
//后十页 "..." 的显示
strHtml += '<span title="Next 10 Pages"><a href="javascript:' + this.name + '.toPage(' + (startPage + 100) + ');">...</a></span>';

    if (nextPage > this.pageCount) 
{
     strHtml += '<span title="Next Page">›</span>';
     strHtml += '<span title="Last Page">»</span>';
    } 
else 
{
     strHtml += '<span title="Next Page"><a href="javascript:' + this.name + '.toPage(' + nextPage + ');">›</a></span>';
     strHtml += '<span title="Last Page"><a href="javascript:' + this.name + '.toPage(' + this.pageCount + ');">»</a></span>';
    }

    strHtml += '</span>';
break;
break;
--------------------编程问答-------------------- 楼主想问什么? --------------------编程问答-------------------- 晕呼呼,搞明白问题在说啊 --------------------编程问答-------------------- 把整数用ToString()转换为字符串,然后用Length属性计算出字符串的长度。 --------------------编程问答-------------------- 用 所得数/(10的n次方)
n=0 1
n=1 10
n=2 100
依次类推 --------------------编程问答--------------------

<script type="text/javascript">
<!--
var str=10
alert(str.toString().length);
str=20;
alert(str.toString().length);
str=200;
alert(str.toString().length);
str=2000;
alert(str.toString().length);
-->
</script>
--------------------编程问答-------------------- 用C# 处理吧,(如果你实在要用JS,那就用C# 处理完后让JS调用)




    /// <summary>
    /// 字符串中包含数字的个数 
    /// </summary>
    public static int CountNumInString(string str)
    {
        string nums = string.Empty;
        CharEnumerator ce = str.GetEnumerator();
        while (ce.MoveNext())
        {
            byte[] array = new byte[1];
            array = Encoding.ASCII.GetBytes(ce.Current.ToString());
            int ascii = (short)(array[0]);
            if (ascii >= 48 && ascii <= 57)
                nums += ce.Current;
            else
                continue;
        }
        return nums.Length;
    } --------------------编程问答-------------------- <script>
  var aa="10";
  alert(aa.length);
</script> --------------------编程问答-------------------- 晕,不会吧.我原来也以为是问几位的问题,但后来想lz已经写了这么多js了,不可能再问这种问题吧?
switch (i.toString().length)
{
      case 1://个位
} --------------------编程问答-------------------- 将整数转为String型,

String.length  就是位数了 --------------------编程问答-------------------- 长度,

csdn怎么老丢东西 我记得回复过的
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,