前后台的字符串截取

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/laizhixue/article/details/81299066

前台三种JS截取字符串方法

JS提供三个截取字符串的方法,分别是:slice(),substring()和substr(),它们都可以接受一个或两个参数:

var stmp = "rcinn.cn";

  • 使用一个参数

alert(stmp.slice(3));//从第4个字符开始,截取到最后个字符;返回"nn.cn"

alert(stmp.substring(3));//从第4个字符开始,截取到最后个字符;返回"nn.cn"

  • 使用两个参数

alert(stmp.slice(1,5))//从第2个字符开始,到第5个字符;返回"cinn"

alert(stmp.substring(1,5));//从第2个字符开始,到第5个字符;返回"cinn"

  • 如果只用一个参数并且为0的话,那么返回整个参数

alert(stmp.slice(0));//返回整个字符串

alert(stmp.substring(0));//返回整个字符串

  • 返回第一个字符

alert(stmp.slice(0,1));//返回"r"

alert(stmp.substring(0,1));//返回"r"

//在上面的例子中我们可以看出slice()和substring()的用法是相同的,返回的值也是一样的,但当参数为负数时,他们的返回值却不一样,看下面的例子

alert(stmp.slice(2,-5));//返回"i"

alert(stmp.substring(2,-5));//返回"rc"

//从上面两个例子可以看出slice(2,-5)实际上是slice(2,3),负5加上字符串长度8转换成正3(若第一位数字等于或大于第二位数字(slice()注意:这里第二位数字如果是负数是加完字符串长度后的数字,而不是显示的数字例:length=11,(7,-6),-6+11=5第二位小于第一位),则返回空字符串);而substring(2,-5)实际上是substring(2,0),负数转换为0,substring总是把较小的数作为起始位置。

alert(stmp.substring(1,5))//从第2个字符开始,到第5个字符;返回"cinn"

alert(stmp.substr(1,5));//从第2个字符开始,截取5个字符;返回"cinn."

var phone = 15989012100;

phone.slice(-6) 取倒数后6位(第二个参数不用写0),return ‘012100 ’;

phone.slice(-6,-4) 取倒数后4位到倒数6位,(-6+11,-4+11)=(5,7);

// 日期比较大小 当日期每个月都小1时
var nowdate = new Date();
item = 2016-7-16;
temp = item.split('-');
if (temp[0] != curYear || temp[1] != curMonth) {
    return;
}
temp[1] = parseInt(temp[1]) + 1;
date = new Date(temp.join('-'));
if(date>=nowdate){
执行A;
}else{
执行B;
}

替换指定字符串后的字母

var abc = 'adadada=ss';
var j = abc.substring(abc.indexOf('=')+1,abc.length);
var dsd =abc.replace(j,'haha');  -->   dsd = 'adadada=haha'

c#后台截取:

string str="123abc456";
int i=3;
1 取字符串的前i个字符
   str=str.Substring(0,i); // or  str=str.Remove(i,str.Length-i); 
2 去掉字符串的前i个字符:
   str=str.Remove(0,i);  // or str=str.Substring(i); 
3 从右边开始取i个字符:
  str=str.Substring(str.Length-i); // or str=str.Remove(0,str.Length-i);
4 从右边开始去掉i个字符:
   str=str.Substring(0,str.Length-i); // or str=str.Remove(str.Length-i,i);
5 判断字符串中是否有"abc" 有则去掉之

   using System.Text.RegularExpressions;
   string str = "123abc456";
   string a="abc";
   Regex r = new  Regex(a); 
   Match m = r.Match(str); 
   if (m.Success)
   {
    //下面两个取一种即可。
      str=str.Replace(a,"");
      Response.Write(str);   
      string str1,str2;
      str1=str.Substring(0,m.Index);
      str2=str.Substring(m.Index+a.Length,str.Length-a.Length-m.Index);
      Response.Write(str1+str2); 
   }


6 如果字符串中有"abc"则替换成"ABC"
   str=str.Replace("abc","ABC");

猜你喜欢

转载自blog.csdn.net/laizhixue/article/details/81299066