zoukankan      html  css  js  c++  java
  • 字符串

    2-1去除字符串空格

    //去除空格  type 1-所有空格  2-前后空格  3-前空格 4-后空格

    function trim(str,type){

       switch (type){

           case 1:return str.replace(/s+/g,"");

           case 2:return str.replace(/(^s*)|(s*$)/g, "");

           case 3:return str.replace(/(^s*)/g, "");

           case 4:return str.replace(/(s*$)/g, "");

           default:return str;

       }

    }

    2-2字母大小写切换

    /*type

    1:首字母大写  

    2:首页母小写

    3:大小写转换

    4:全部大写

    5:全部小写

    * */

    //changeCase('asdasd',1)

    //Asdasd

    function changeCase(str,type)

    {

       function ToggleCase(str) {

           var itemText = ""

           str.split("").forEach(

               function (item) {

                   if (/^([a-z]+)/.test(item)) {

                       itemText += item.toUpperCase();

                   }

                   else if (/^([A-Z]+)/.test(item)) {

                       itemText += item.toLowerCase();

                   }

                   else{

                       itemText += item;

                   }

               });

           return itemText;

       }

       switch (type) {

           case 1:

               return str.replace(/^(w)(w+)/, function (v, v1, v2) {

                   return v1.toUpperCase() + v2.toLowerCase();

               });

           case 2:

               return str.replace(/^(w)(w+)/, function (v, v1, v2) {

                   return v1.toLowerCase() + v2.toUpperCase();

               });

           case 3:

               return ToggleCase(str);

           case 4:

               return str.toUpperCase();

           case 5:

               return str.toLowerCase();

           default:

               return str;

       }

    }

    2-3字符串循环复制

    //repeatStr(str->字符串, count->次数)

    //repeatStr('123',3)

    //"123123123"

    function repeatStr(str, count) {

       var text = '';

       for (var i = 0; i < count; i++) {

           text += str;

       }

       return text;

    }

    2-4字符串替换

    //字符串替换(字符串,要替换的字符,替换成什么)

    function replaceAll(str,AFindText,ARepText){

       raRegExp = new RegExp(AFindText,"g");

       return str.replace(raRegExp,ARepText);

    }

    2-5替换*

    //replaceStr(字符串,字符格式, 替换方式,替换的字符(默认*))

    function replaceStr(str, regArr, type,ARepText) {

       var regtext = '', Reg = null,replaceText=ARepText||'*';

       //replaceStr('18819322663',[3,5,3],0)

       //188*****663

       //repeatStr是在上面定义过的(字符串循环复制),大家注意哦

       if (regArr.length === 3 && type === 0) {

           regtext = '(\w{' + regArr[0] + '})\w{' + regArr[1] + '}(\w{' + regArr[2] + '})'

           Reg = new RegExp(regtext);

           var replaceCount = repeatStr(replaceText, regArr[1]);

           return str.replace(Reg, '$1' + replaceCount + '$2')

       }

       //replaceStr('asdasdasdaa',[3,5,3],1)

       //***asdas***

       else if (regArr.length === 3 && type === 1) {

           regtext = '\w{' + regArr[0] + '}(\w{' + regArr[1] + '})\w{' + regArr[2] + '}'

           Reg = new RegExp(regtext);

           var replaceCount1 = repeatSte(replaceText, regArr[0]);

           var replaceCount2 = repeatSte(replaceText, regArr[2]);

           return str.replace(Reg, replaceCount1 + '$1' + replaceCount2)

       }

       //replaceStr('1asd88465asdwqe3',[5],0)

       //*****8465asdwqe3

       else if (regArr.length === 1 && type == 0) {

           regtext = '(^\w{' + regArr[0] +  '})'

           Reg = new RegExp(regtext);

           var replaceCount = repeatSte(replaceText, regArr[0]);

           return str.replace(Reg, replaceCount)

       }

       //replaceStr('1asd88465asdwqe3',[5],1,'+')

       //"1asd88465as+++++"

       else if (regArr.length === 1 && type == 1) {

           regtext = '(\w{' + regArr[0] +  '}$)'

           Reg = new RegExp(regtext);

           var replaceCount = repeatSte(replaceText, regArr[0]);

           return str.replace(Reg, replaceCount)

       }

    }

    2-6检测字符串

    //checkType('165226226326','phone')

    //false

    //大家可以根据需要扩展

    function checkType (str, type) {

       switch (type) {

           case 'email':

               return /^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$/.test(str);

           case 'phone':

               return /^1[3|4|5|7|8][0-9]{9}$/.test(str);

           case 'tel':

               return /^(0d{2,3}-d{7,8})(-d{1,4})?$/.test(str);

           case 'number':

               return /^[0-9]$/.test(str);

           case 'english':

               return /^[a-zA-Z]+$/.test(str);

           case 'chinese':

               return /^[u4E00-u9FA5]+$/.test(str);

           case 'lower':

               return /^[a-z]+$/.test(str);

           case 'upper':

               return /^[A-Z]+$/.test(str);

           default :

               return true;

       }

    }

    2-7检测密码强度

    //checkPwd('12asdASAD')

    //3(强度等级为3)

    function checkPwd(str) {

       var nowLv = 0;

       if (str.length < 6) {

           return nowLv

       }

       ;

       if (/[0-9]/.test(str)) {

           nowLv++

       }

       ;

       if (/[a-z]/.test(str)) {

           nowLv++

       }

       ;

       if (/[A-Z]/.test(str)) {

           nowLv++

       }

       ;

       if (/[.|-|_]/.test(str)) {

           nowLv++

       }

       ;

       return nowLv;

    }

    2-8随机码(toString详解)

    //count取值范围0-36

    //randomNumber(10)

    //"2584316588472575"

    //randomNumber(14)

    //"9b405070dd00122640c192caab84537"

    //Math.random().toString(36).substring(2);

    //"83vhdx10rmjkyb9"

    function randomNumber(count){

      return Math.random().toString(count).substring(2);

    }

    2-9查找字符串

    可能标题会有点误导,下面我就简单说明一个需求,在字符串'sad44654blog5a1sd67as9dablog4s5d16zxc4sdweasjkblogwqepaskdkblogahseiuadbhjcibloguyeajzxkcabloguyiwezxc967'中找出'blog'的出现次数。代码如下

    function countStr (str,strSplit){

       return str.split(strSplit).length-1

    }

    var strTest='sad44654blog5a1sd67as9dablog4s5d16zxc4sdweasjkblogwqepaskdkblogahseiuadbhjcibloguyeajzxkcabloguyiwezxc967'

    //countStr(strTest,'blog')

    //6

  • 相关阅读:
    spring查看生成的cglib代理类源码详解
    java-jdk动态代理生成的代理类源码
    约瑟夫斯问题-java版数组解法和链表解法
    HashMap源码解析(简单易懂)
    windows云服务器发布项目
    java学习
    TTL macro登陆linux服务器
    c#笔记
    C#笔记
    git merge
  • 原文地址:https://www.cnblogs.com/BaoWeiHome/p/7264175.html
Copyright © 2011-2022 走看看