js 字符串 练习


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<script>
    //    1. 找出出现最多的字母,找出字符串中出现次数最多的字母,将该
//    字母串中出现次数最多的字母,将该字母和字母出现的次数拼接成一个
//    新字符串,返回新字符串
//    传入:” WelcomeToQianfeng”;
//    返回:”e3”;   (要求编写成函数)
//
     
          function func(str){
               var arr=[];
              for(var i=0;i<str.length;i++){
                   var freq=-1;
                   var j=0;
                  do{
                     freq=str.indexOf(str[i],freq+1);
                     if(freq != -1){
                       j++;
                     }

                  }while(freq != -1){
                     arr[j]=str[i];

                  }
              
                 }
                  console.log(arr.length-1);
                 console.log(arr[arr.length-1]);
                 console.log(arr.length-1+arr[arr.length-1]);
             }

       func("WelcomeToQianfeng");


    // 2. 将字符中单词用空格隔开
    //    已知传入的字符串中只有字母,每个单词的首字母大写,请将每个
    //    单词用空格隔开,只保留一个单词的首字母大写
    //    传入:”HelloMyWorld”
    //    返回:”Hello my world”

   
   var str2={};
   function word(str1){
     for(var i=1;i<str1.length;i++){
         if(/[A-Z]/g.test(str1[i])){
             if(/[a-z]/g.test(str1[i-1])){
             str1=str1.replace(str1[i]," "+str1[i]);
             
              }
          }
       }
       str2=str1.substring(1);
       console.log(str1[0]+str2.toLowerCase());
    }
   

word("HelloMyWorld");

// 3. 已知一个字符串对象中,英语单词用各种非字母字符分割,统计
//    单词的个数
//          传入: “Yes,she**is%%my@love.”
 var k=0;
 var j=0;
 var newarr=[];  
function  num(str){

          for(var i=0;i<str.length;i++){
                if(/[A-Za-z]/gi.test(str[i])){

                         if(/[A-Za-z]/gi.test(str[i+1])){
                       
                         }else{
                       
                       newarr[k]=str.substring(j,i+1);
                       i++;
                       j=str.indexOf(str[i])+1;
                       k++;
                         }
            
                }else{
                 
                    j=str.indexOf(str[i+1]);
                    
                }
                
            }
            console.log(k);
            console.log(newarr);
         }
                   


num("Yes,she****is%%*my@love.");


// 1.  将字符串按照单词进行逆序,空格作为划分单词的唯一条件
// 传入:”Welome to Beijing”改为 “Beijing to Welcome”

   var arr=[];
   var str3="Welome to Beijing",
   arr=str3.split(" ");
   console.log(arr);
   var str4=arr.reverse();
   console.log(str4.join(" "));

   // 2.  对称数组
   //      传入一个数组,起元素类型与个数皆未知,返回新数组,由原数组
   //      的元素正序反序拼接而成
   //      传入[“One”, “Two”,”Three”] 返回[“One”, “Two”, “Three”,”Three”,”Two”, “One”]


   var arr1=["One", "Two","Three"];
   var arr2=arr1.reverse();
   console.log(arr1+","+arr2);

   // 3.  实现函数,查找子串出现的次数,返回字符串str中出现substring的次数
   // 传入:”abcabcabc”, “abc”;   返回:3
 
   function matching(str){
      var index,j=0;
      var hh="abc";
      var index=str.indexOf(hh);
    while(str.indexOf(hh)>-1){
          j++;
          str=str.substring(index+hh.length);
     }

      console.log(j)
   
      
   }
   var str5="abcabcabc";

   matching(str5)
// 4.  已知千锋邮箱的用户名只能由数字字母下划线组成,域名为@1000phone.com
//     ,判断一个字符串是否是千锋邮箱,是返回true,不是返回false。
//     mail@1000phone.com  是
//     $mail@1000phone.com  不是
//     mail@1000phone.comp  不是
      
    function mail(str){
       var arr=str.split("@");
        if(arr.length=2){
              if(arr[1]=="1000phone.com"){
                for(var i=0;i<arr[0].length;i++){
                if(/[A-Za-z0-9_]/g.test(arr[0][i])){
                    return true;
                }else{
                    return false;
                }
              }
              }else{
                return false;
              }



        }else{
            return false;
        }


    }

    var a="mail@1000phone.com";
    var b="$mail@1000phone.com.";
    var c="mail@1000phone.comp";
    
    console.log(mail(c));

</script>
    
</body>
</html>


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM