博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字符串
阅读量:5011 次
发布时间:2019-06-12

本文共 4385 字,大约阅读时间需要 14 分钟。

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 /^(0\d{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

转载于:https://www.cnblogs.com/BaoWeiHome/p/7264175.html

你可能感兴趣的文章
Devstack 安装OpenStack Pike版本(单机环境)
查看>>
Javascript 函数初探
查看>>
类的定义、声明使用
查看>>
转载,gini系数代码对应的公式
查看>>
编译安装mysql-5.6.40
查看>>
年终总结
查看>>
初创互联网公司技术架构变迁之路
查看>>
【BZOJ 3676】 3676: [Apio2014]回文串 (SAM+Manacher+倍增)
查看>>
【网络流24题】No. 13 星际转移问题 (网络判定 最大流)
查看>>
解析$.grep()源码及透过$.grep()看(两次取反)!!的作用
查看>>
[模板] 字符串hash
查看>>
SGU438_The Glorious Karlutka River =)
查看>>
Linux集群及LVS简介
查看>>
简单几何(直线与圆的交点) ZOJ Collision 3728
查看>>
Codeforces Round #327 (Div. 2)
查看>>
如何解决Provisional headers are shown问题(转)
查看>>
开发网站遇到的bug
查看>>
实现简单的接口自动化测试平台
查看>>
EXCEL工作表合并
查看>>
Prime Path
查看>>