*字符串截取方法*/

var s="abc_def[ghi]jk[i]";

var temp;
function CopyFromStr(str_source,str_key, bl_containKey)
{
  if(str_source.indexOf(str_key)==-1)
 { return "";}
  else
 {
    if(bl_containKey)
     { return str_source.substr(str_source.indexOf(str_key), str_source.length - str_source.indexOf(str_key) + 1);}
    else 
     { return str_source.substr(str_source.indexOf(str_key)+str_key.length, str_source.length - str_source.indexOf(str_key)+str_key.length + 1);}
  }
}

function CopyToStr(str_source,str_key,bl_containKey)
{
  if(str_source.indexOf(str_key)==-1)
 { return "";}
  else
 {
    if(bl_containKey)
     { return str_source.substr(0, str_source.indexOf(str_key) + str_key.length);}
    else 
     { return str_source.substr(0, str_source.indexOf(str_key) );}
  }
}

function CopyStr(str_source,str_start,str_end,bl_containStartEnd)
{
  var i,j;
  var tmp;
  tmp = str_source;
  i = tmp.indexOf(str_start);
  if(i==-1) {return "";}
  tmp = CopyFromStr(tmp,str_start,false);
  j = tmp.indexOf(str_end);
  if(j==-1) {return "";}

if(bl_containStartEnd)
   {return str_start + tmp.substr(0, j) + str_end;}
  else
   {return tmp.substr(0,j);}
}
    
    
function CopyStrEx(str_source, str_key, str_start,str_end,bl_containStartEnd)
{
  var tmp = str_source;
  if((tmp.indexOf(str_key)==-1)  ||
     (tmp.indexOf(str_start)==-1) ||
     (tmp.indexOf(str_end)==-1) )
 {return "aaa";}
 else
 {
  tmp = CopyFromStr(tmp,str_key,false); 
  if(bl_containStartEnd)
   {return CopyStr(tmp,str_start,str_end,true);}
  else
   {return CopyStr(tmp,str_start,str_end,false);}
  } 
}

function RightFromStr(str_source,str_key,bl_containStartEnd)
{
  if(str_source.indexOf(str_key)==-1)
 { return "";}
  else
 {

while(str_source.indexOf(str_key)>-1)
  {str_source = CopyFromStr(str_source,str_key,false);}

if(bl_containKey)
     { return str_key+str_source;}
    else 
     { return str_source;}
  }
}

function RightFromStr(str_source,str_key,bl_containStartEnd)
{
  if(str_source.indexOf(str_key)==-1)
 { return "";}
  else
 {
   while(str_source.indexOf(str_key)>-1)
   {str_source = CopyFromStr(str_source,str_key,false);}
    if(bl_containStartEnd)
     { return str_key+str_source;}
    else 
     { return str_source;}
  }
}

/*调用方法:*/
temp=CopyFromStr(s, '[gh', false);alert(temp);
temp=CopyToStr(s,   '[gh', false);alert(temp);
temp=CopyStr(s,      '_',  '[gh',  false);alert(temp);
temp=CopyStrEx(s,    '_',  '[',    ']',  false);alert(temp);

temp=RightFromStr(s, '[',  false);alert(temp);

谷歌浏览器内核Cef js代码整理(三) 字符串处理的更多相关文章

  1. 谷歌浏览器内核Cef js代码整理(一)

    尊重作者原创,未经作者允许不得转载!作者:xtfnpgy,原文地址: https://www.cnblogs.com/xtfnpgy/p/9285359.html 一.js基础知识 <!--   ...

  2. 谷歌浏览器内核Cef js代码整理(二) 滚动条

    1.隐藏滚动条 document.documentElement.style.overflow = 'hidden';隐藏竖向滚动条:document.documentElement.style.ov ...

  3. webpages框架使用@razor语法向js代码传递Json字符串

    进入web开发时间太短,一个人尝试着做了几个初级项目,遇到了太多的困难.尽管不是学开发专业的,仅为爱好所以硬着头皮坚持了下来. 将遇到的问题记录下来,备查. 使用vs2015中asp.net razo ...

  4. 常用js代码整理、收集

    个人整理了一下个人常用到的一些js代码,以方便学习以及日后使用,或许有一些是个人之前从网上摘下来的,但是不记得是具体从哪里来的了,如果你看到有一段代码跟你的文章很相似甚至一样,请不要气愤,请告诉我,我 ...

  5. c#: WebBrowser控件注入js代码的三种方案

    聊做备忘. 假设js代码为: string jsCode = @"function showAlert(s) {{ alert('hello, world! ' + s);}}; showA ...

  6. 常用JS代码整理

    1: function request(paras) { 2: var url = location.href; 3: var paraString = url.substring(url.index ...

  7. 判断点击第几个按钮JS代码的三种方法

    方法一:使用下标实现<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...

  8. JS代码把JSON字符串转换为对象,计算对象的长度并把它转换为数字类型,把转换的值相加减

    Number(JSON.parse(rowObject.RenewalProperty).length)-1

  9. 【JS学习】-利用谷歌浏览器调试JS代码(转)

    谷歌浏览器是常用来调试JS代码的工具,本文主要介绍如何利用谷歌浏览器来调试JS代码,协助我们进行开发工作. 首先,打开谷歌浏览器,按快捷键F12或者ctrl+shift+j,就可以打开谷歌浏览器的开发 ...

随机推荐

  1. C++获取数组的长度

    C++获取数组的长度 #include<iostream> using namespace std; template<class T> int length(T& a ...

  2. Centos7修改分区空间

    一:缩小/home空间 1.1:备份/home内容 cp -r /home/* /homebak 1.2:删除挂载/home umount /home 1.3:删除/home所在lv lvremove ...

  3. vue 创建项目

    先安装node.js环境 #先安装npm 阿里镜像 (之后cnpm 下载组件快速) npm install -g cnpm --registry=https://registry.npm.taobao ...

  4. leetcode题解 200. Number of Islands(其实就是一个深搜)

    题目: Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is s ...

  5. 什么是Maven项目

    1.通俗理解Maven:https://blog.csdn.net/shuzhe66/article/details/45009175 个人总结: Maven项目会有pom文件! 当前的项目需要依赖其 ...

  6. IOS Block代码块的定义与使用

    代码块的本质是和其他的变量类似,不同的是,代码块存储的数据是一个函数体.使用代码块,你可以像调用其他标准函数一样的调用,可以传入参数,并得到返回值.     脱字符是代码块的语法标记.下图表示代码块的 ...

  7. python 参数传递 传值还是传引用

    个人推测结论: 可变对象传引用,不可变对象传值 python里的变量不同于c中地址储值模型 a=100 b=100 print(id(a),id(b),a==b,a is b) #8790877986 ...

  8. mysql 基本函数以及初学语句

    创建数据库create database 数据库名: 查看数据库列表show databases; 选择数据库use 数据库名: 删除数据库drop database 数据库名: 创建表CREATE ...

  9. php 图片缩放然后合成并保存

    /** * 功能说明 * 将files/model_24/images/下的所有图片文件进行等比例缩放 到$image40w 尺寸 然后放到files/model_24/model.png图片的指定位 ...

  10. mysql连接拍错总结

    1. ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10060)   ? 关闭网络防火墙.