想要去除一个字符串的第一个字符,有哪些方法可以实现
1. "string".replace("s","") //替换
2. "string".substring(1) //截取
3. "string".slice(1) //截取
4. "string".substr(1) //截取
看一个例子,字符串在一些表单验证方面的应用
字符串方法
DEMO1
str.length 获取字符串长度
var userName = input.value
if(userName.length > 6){
alert(要求大于等于六个字符)
}
DEMO2
-
str.charAt(index)
index索引值
"yangyumeng".charAt(0) //"y"
应用:
var userName = input.value;
if(userName.charAt(0) == "-"){
alert("不能以“-”开头");
}
DEMO3
-
str.indexOf(searchValue)
- 返回值是索引位置
"yymyang-yumeng".indexOf("-") //7
"yang-yu-meng".indexOf("-") //4 只匹配一次
"yang-yumeng".indexOf("yumeng") //5 按照第一个字符所在位置
"yangyumeng".indexOf("-") //-1 没有会返回-1,可以利用-1做一些判断
DEMO4
-
str.search(regexp)
- regexp(正则)
"yangyumeng123".search(/[0-9]/) //10,返回数字索引位置
"yang123yumeng".search(/[0-9]/) //4
"yangyumeng123".search(/[A-Z]/) //-1,找不到数字-1
-
str.match(regexp)
- regexp(正则)
- g全局
"yang123yumeng".match(/[0-9]/) //["1"] 返回数组
"yang123yumeng".match(/[0-9]/g) // ["1", "2", "3"]
"yangyumeng123".match(/[A-Z]/) //没有数字,返回null
以上代码均经过chrome验证
其他的字符串方法
-
str.replace(regexp|substr,newSubstr|function)
- 参数可以是正则,也可以是某一字符串
"yangyumeng123".replace("123","###") //"yangyumeng###"
"yangyumeng123".replace(/[0-9]/,"###") //"yangyumeng###23"只替换了一个
"yangyumeng123".replace(/[0-9]/g,"#") //"yangyumeng###" 全局参数g
"yangyumeng123".replace(/[0-9]/g,"") //"yangyumeng" 去掉数字
-
str.substring(indexA[,indexB])
- 截取字符串
- indexA,indexB 索引
- 返回的是从A索引值到B索引值的字符串
- 包含A不包含B
其实substring可以传入负数,但是负数对substring是没有任何意义的,都会处理成0,所以我们可以理解为substring其实不支持负数。
"yangyumeng".substring(2,5) //"ngy"
"yangyumeng".substring(2) //"ngyumeng" 从2后面所有字符串
-
str.slice(beginSlice[,endSlice])
- 大多数和
str.substring
一样 -
str.slice
可传入负数,倒数, - 后面的值取不到
- 大多数和
"yangyumeng".slice(1,-1) //"angyumen"
"yangyumeng".slice(-3) //"eng"
-
str.substr(start[,length])
- start 索引
- length 取多少长度
"yangyumeng".substr(2,5) //"ngyum"
"yangyumeng".substr(2) //"ngyumeng"
看一个需求
-
str.split([separator][,limit])
- separator用什么分隔符分开
- limit不常用,输出几个
"yagn yumeng".split(" ") //["yagn", "yumeng"] 返回数组
"yagn yumeng".split(" " , 1) //["yagn"]
"yagn5yumeng".split(/[0-9]/) //["yagn", "yumeng"] 用数字分割
-
str.toLowerCase()
- 变小写字符串
"YanYUmeng".toLowerCase() //"yanyumeng"
-
str.toUpperCase()
- 大写
"yanguyemng".toUpperCase() //"YANGUYEMNG"
需求
连接+
"0571" + "-" + "1234565" //"0571-1234565"
var area = input.value
var tel = input.value
var num = area + "-" + tel
-
String()
- 转字符串`
String(123) //"123"
String(null) //"null"
转义\
"yang\"yumeng" //"yang"yumeng"
"yang\\yumeng" //"yang\yumeng"
"yang\tyumeng" //"yang yumeng"
"yang\nyumeng" //"yang
yumeng"