• Javascript 数组之判断取值和数组取值


    题目一:var arr = [ '100px', 'abc'-6, [], -98765, 34, -2, 0, '300', , function(){alert(1);}, null, document, [], true, '200px'-30,'23.45元', 5, Number('abc'), function(){ alert(3); }, 'xyz'-90 ];

    1、找到arr里所有的数字:-98765, 34, -2, 0, 5

    2、找到可以转成数字的:'100px', -98765, 34, -2, 0, '300', '23.45元,5

    3、把转成数字以后,最大值判断出来:300

    4、把 NaN 所在的位置找出来:1 14 17 1

    答:

    1. 

    function fn1(){
        for(var i=0;i<arr.length;i++){
         if(typeof arr[i] === 'number' &&  arr[i] === arr[i]){
             alert(arr[i]); //-98765, 34, -2, 0, 5 //arr[i] === arr[i] 排除NaN
        }
      }
    }
    
    fn1();

    2.3.

    var arr2 = [];
    function fn1(){
        for(var i=0;i<arr.length;i++){
         if(!isNaN(parseInt(arr[i]))){
              arr2.push(arr[i]); //是数字的: 100px, -98765, 34, -2, 0, 300, 23.45元,  5 
         }
        }
    }
    
    fn1();
    
    var tmp = arr2;
    var max = tmp[0];
    
    for(var i = 1;i < tmp.length;i++){
        if(max < tmp[i])
        {
            max = tmp[i];
        }  
    }
    alert(max);

    4.

    var arr3 = [];
    function fn1(){
        for(var i=0;i<arr.length;i++){
           if(typeof arr[i] == 'number' && isNaN(Number(arr[i])))
            {
                arr3.push(i);
            }
        }
    }
    fn1();
    alert(arr3);

     题目二:

    请输入QQ号码:<input type="text" />
    <input type="button" value="判断" />

    <br />
    1、有没有输入<br />
    2、输入的是不是数字<br />
    3、不能有0在前面<br />
    4、不能是小数<br />
    5、输入的数字必须在5位以上、10位以内<br />

    答:

     window.onload = function(){
          var oInput = document.getElementsByTagName('input');
          oInput[1].onclick = function(){
             if(oInput[0].value  ==''){
                alert('没有输入值');
                oInput[0].focus();
                return false;
             }
             if(typeof(Number(oInput[0].value))  != 'number'){
                alert('不是数字');
                oInput[0].focus();
                return false;
             }
             if(parseInt(oInput[0].value) != parseFloat(oInput[0].value)){
                alert('不能是小数字');
                oInput[0].focus();
                return false;
             }
             if(oInput[0].value.length > 5 && oInput[0].value.length >= 10){
                alert('必须在5位以上、10位以内');
                oInput[0].focus();
                return false;
             }
             if(oInput[0].value != parseInt(oInput[0].value).toString() ){
                alert('不能有0在前面'); //字符转数字,再转回字符,自然会过滤掉0开头的部分 <!-- onkeyup="this.value=this.value.replace(/^([0]{1,})|D/g,'')"--> 
                oInput[0].focus();
                return false;
             }
          } 
       }
  • 相关阅读:
    SVN更新的时候前面的子母的意思(A C D M G U R I)
    SQL总结(一)基本查询
    eclipse中如何打开工作空间里面已经有的项目
    java for循环的几种写法
    Eclipse自动生成作者、日期注释等功能设置
    linux任务计划及周期性任务计划
    进程管理工具使用
    Btrfs管理及应用
    LVM基本应用,扩展及缩减实现
    Linux-RAID
  • 原文地址:https://www.cnblogs.com/allenhua/p/4102535.html
Copyright © 2020-2023  润新知