`
xrb2008
  • 浏览: 169838 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

javascript字符串操作用法

阅读更多
与VBscript中的字符串函数相对应,javascript为String对象提供了许多方法,而字符串变量可以不用附加说明就使用这些方法。有几个VB函数在JS中没有对象的方法可实现,但JS中也有一些高级的方法可以更复杂的文本处理工作,这将在以后再介绍。在本文中,我们来完成上文“VBscript 中的字符串函数”中的相同的目标任务。

目标任务1  演示子字符串的截取,字符串的截空,子串的定位等。

关键字 length, substr, slice, indexOf, toUppertoCase,toLowerCase

代码

var Mystr, Myword,Mypos, BR;
Mystr = "The built-in objects are special because they are built into ASP pages and do not need to be created before you can use them in scripts.";
BR = "<p>";
document.write( "Mystr=" +"\"" + Mystr + "\"" +BR);
document.write("字符串Mystr的长度是" + Mystr.length + BR);
document.write("7位左子串是" + Mystr.slice(0,7) +BR);
document.write("8位右子串是" + Mystr.slice(136-8) +BR);
document.write("从第5位开始的12个字符是" +Mystr.substr(5-1,12)+BR);
Myword = " hello ";
document.write( Myword);
document.write("这个字符串的长度是" + Myword.length +BR);
document.write("在javascript中没有截去前导空格或后部空格的方法!" +BR);
Myword = "OBJECT";
document.write ("The Myword =" + "\""+Myword+"\"");
Mypos = Mystr.indexOf(Myword);
document.write (BR);
if (Mypos==-1)
//如果没有找到子字符串,则返回 -1。
document.write(Myword +"不是Mystr子串")
else
document.write(Myword + "是Mystr的子串,第一个开始于" + Mypos);
document.write (BR);
Myword = Myword.toLowerCase();
Mypos =Mystr.indexOf(Myword);
if (Mypos==-1)
document.write(Myword + "不是Mystr的子串"+BR)
else
document.write(Myword + "是Mystr的子串,第一个开始位置是" + Mypos);

观看代码的运行结果

代码注释

因为字符串函数是以字符串对象的方法(方法是对象内部的函数)形式出现的,它的一般格式是
    字符串变量名.方法名(参数表)
取子串不分左中右,有一个统一的方法substr(),其功能是返回一个从指定位置开始的指定长度的子字符串。语法:
    stringvar.substr(start [, length ])
如果 length 为0或负数,将返回一个空字符串。如果没有指定该参数,则子字符串将延续到最后。
要实现VB中的right(stringvar,n),可用下列语句:
    stringvar.substr(stringvar.length - n);

javascript还提供了一种slice方法也可以实现上述任务。其功能是返回字符串的片段。语法:
    stringObj.slice(start, [end])
所不同的是,end表示结束位置而不时长度。如果 end =-1 或省略,就一直提取到结尾。

javascript中没有与截空格函数tirm, Ltirm等对应的方法。

大小写转换方法有toUppertoCase()和toLowerCase()。

对应与Instr()的判断子串的方法是indexOf,语法如下:
   strVariable.indexOf(substring, startindex)
功能是返回 String 对象内第一次出现子字符串的位置。startindex如果省略,则从字符串的开始处查找。不同之处是如果没有找到子字符串,则返回-1而不是返回0。

另外,还有一个lastIndexOf方法,功能是返回最后一个出现的子字符串位置。在VBscript中也有InstrRev()与之对于。


--------------------------------------------------------------------------------

目标任务2  演示用spilt函数分割字符串

关键字  split

代码

var Mystr, MyString ,BR, num;
Mystr = "The built-in objects are special because they are built into ASP pages and do not need to be created before you can use them in scripts.";
BR = "<BR>";
MyString = Mystr.split(" ");
for (str1 in MyString){
document.write ("MyString[" + str1 +"]=");
document.write (MyString[str1]+ BR);
}

代码注释

javascript中也有split方法,功能是按照给定的分割符切割字符串,返回一个数组。语法更为简单:
    数组 = 字符串名.split(分割符)
观看 Sdemo1


--------------------------------------------------------------------------------

目标任务3  演示字符串逆转函数strReverse

在javascript中没有相应的方法逆转字符串。

目标任务4  演示字符串的替换和比较

关键字 replace

代码

var oldstr, newstr, textall;
oldstr = "Hello";
textall= "---Hello World ---";
newstr = oldstr.toUpperCase();
alert ("原始文本是:\n\r" +textall);
alert ("替换后变为:\n\r" + textall.replace(oldstr,newstr));

单击按钮上一代码

代码注释

replace方法在文本中替换子串,语法与VB中一样:
        stringObj.replace(待查子串, 替换子串)

没有与strcomp(), string()相应的方法。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics