*字符串截取方法*/

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. AWK入门

    AWK类型    AWK:源于AT&T实验室的AWK    NAWK:AWK的升级版    GAWK:GNU AWK,兼容AWK和NAWK    程序结构    BEGIN语句块,可选     ...

  2. kvm恢复和删除快照

    使用文件快照的方式实现文件备份,但单说快照(snapshot)的话,他是某一时间点(版本)你能看到的该时间点备份文件状态的全貌,通过文件的快照(全貌)你能恢复到特定时间点(版本)的文件状态. 创建虚拟 ...

  3. Linux下命令行cURL的10种常见用法示例

    curl的命令行工具功能非常强大,这些数据交互的功能基本上都是通过URL方式进行的,下面这篇文章主要给大家分享了在Linux中命令行cURL的10种常见用法示例,通过示例代码介绍的非常详细,需要的朋友 ...

  4. Costura.Fody合并DLL和EXE

    1.打开Nuget包管理器 2. 输入 Install-Package Costura.Fody -Version 3.3.0 3.之后Costura.Fody会嵌入到工程中,如果没有手动添加一下 4 ...

  5. js中css样式

    1.js操作css样式 例如 div . style . width=“100px”. 就是在div标签内我们添加一个style属性,并设定了width值,这种写法会给标签带来大量的style属性,跟 ...

  6. 剑指Offer 31. 整数中1出现的次数(从1到n整数中1出现的次数) (其他)

    题目描述 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了. ...

  7. C# 网络通信功能 同步数据交互开发

    前言 本文将使用一个Nuget公开的组件技术来实现一对多的数据通信功能,提供了一些简单的API,来方便的向服务器进行数据请求. 在visual studio 中的Nuget管理器中可以下载安装,也可以 ...

  8. 神州数码静态路由及直连网段引入到RIP协议配置(路由重定向)

    实验要求:掌握静态路由及直连网段引入协议当中的配置 拓扑如下 R1 enable 进入特权模式 config 进入全局模式 hostname R1 修改名称 interface g0/6 进入端口 i ...

  9. Day 2: ASP.NET and python trying

    ASP.NET and Python/Javascript Many jQuery plugins that are designed and shared for free on the inter ...

  10. idea快捷键的设置

    因为开始学java被培训机构里的无良老师给带偏,"染上了"MyEclipse的快捷键"恶习",于是很难改了. 所以,在使用idea时,要设置快捷键了,快点适应之 ...