1.substr()函数 截取子字符串
语法: substr(str,len)
substring(str,pos,len)
str:要提取子字符串的字符串
len为截取的长度(length可选可不选,如果不选的话就是字符串的全部,空格也算一个字符)
pos:开始位置(从哪个位置开始截取),mysql中pos的截止开始位置是从1开始的,不是从0开始的。如果pos的值为正数,则截取的方向是从正序方向查数(如果字符串是4561133,pos=2,则开始截取数就是5,)如果pos的值为负数,则截取的方向是倒序开始数(如果字符串是7894561,pos=-2,则开始截取的位置截取的位置就是6)
例 var str="ftdgbnmlp"
console.log(str.substr(1,3)) 这里f是0,t是1,所以从t开始截取3个字母 //tdg
console.log(str.substr(-2,2)) 这里提取字符串的负数,所以-1是p,-2是l,所以从l开始截取2个字母 // lp
注:mysql中截止的开始位置是从1开始的,js中截止的开始位置是1
2.substring()函数 截取子字符串
语法:substring(startIndex,endIndex)
substring(startIndex,from,endIndex)
startIndex:指截取的开始位置,可以是正数也可以是负数(负数的话,从后面开始数的时候是从1开始的)
这里from与pot同意义
lenIndex:指的是截取的子字符串的长度 (如果不定义的话,说明是整个字符串的长度)
注:substring 中的a一般为非负数,如果是负数的话,运行时自动为0,则a=0
例 var str="ftdgbnmlp"
console.log(str.substring(1,3)) 从t开始到第三个g结束,但不包括g //td
console.log(str.substring(-2,2)) 这里提取字符串的负数,所以-1是p,-2是l,所以从l开始截取2个字母 // ft
3.区别
subrt(a,b) 是指从下标为a的位置开始截取,一直截取到下标b的位置(取头取尾)
substring(a,b) 是从下标为a的位置开始截取,截取到下标为b-1(取头不取尾)