Javascript中使用String对象的方法-阿里云开发者社区

开发者社区> 余二五> 正文

Javascript中使用String对象的方法

简介:
+关注继续查看
String对象有许多的方法,因此我们这里的讨论范围只限于其中的两个,indexOf() substring()方法。
你已经看到,JavaScript字符串是由字符组成的。这些字符中的每一个都有一个索引。这个索引是从0开始的,所以第一个字符的位置的索引是0,第二个是1,以此类推。方法indexOf()查找并返回子字符串起始的索引位置(lastIndexOf()方法则返回子字符串结束的位置)。举个例子,如果我们想让我们的用户输入e-mail地址,我们能检查在它们的输入中是否包含@符号。(虽然这不能确保邮件地址是合法的,但至少可以在很大程度上确保其有效,稍候我们会在这本书中接触更复杂的数据校验。)
接下来,我们使用prompt()方法获取用户的 e-mail地址,然后检查输入中是否包含@符号,并使用indexOf()返回@符号的索引:
<html>
<body>
<script type="text/javascript">
var userEmail= prompt( "Please enter your email
address ", "" );
document.write( userEmail.indexOf( "@" ) );
</script>
</body>
</html>
如果没有发现,在页面中会输出-1。只要在这个字符出现在输入字符串中的任何位置,就会返回索引中它的位置,换句话说某个大于-1的数。
substring()函数使用子字符串的起始和结束位置的索引作为参数,从另一个字符串中截取一个字符串。我们可以不使用第二个参数来返回从第一个索引到字符串结束的所有字符串。因此要截取从第三个字符(索引2)到第六个字符(索引5)的索引字符,我们这样写:
<html>
<body>
<script type="text/javascript">
var myOldString = "Hello World";
var myNewString = myOldString.substring( 2, 5 );
document.write( myNewString );
</script>
</body>
</html>
你在浏览器中会看到页面中输出了llo。注意substring()方法复制了它返回的子字符串,但它没有改变原来的字符串。
当你处理未知的值时,substring()方法真的会用到它自己。这是另一个例子,它同时使用了indexOf()和substring()方法:
<html>
<body>
<script type="text/javascript">
var characterName = "my name is Simpson, Homer";
var firstNameIndex = characterName.indexOf( "Simpson,
" ) + 9;
var firstName = characterName.substring( firstNameIndex );
document.write( firstName );
</script>
</body>
</html>
我们在变量characterName的字符串中提取Homer,使用indexOf()查找姓的起始位置,然后给它加上9得到名的起始位置的索引(因为Simpson, 9个字符的长度),并把它存储在firstNameIndex中。它会在substring()方法中被使用来提取从名的起始开始的所有字符-我们没有指定最后一个索引,因此这个字符串中的其余字符都会被返回。









本文转自 牛海彬 51CTO博客,原文链接:http://blog.51cto.com/newhappy/76830,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Spring AOP 源码分析——创建代理对象
1.简介 与筛选合适的通知器相比,创建代理对象的过程则要简单不少,本文所分析的源码不过100行,相对比较简单。在接下里的章节中,我将会首先向大家介绍一些背景知识,然后再去分析源码。
993 0
javascript:使用document.getElementById读取数据为空分析
  今天写个网页,想在页面加载onLoad时,动态显示由后台其他程序传来的数据时,用document.getElementById获取控件对象总是为空。但是检查了这个id确实是存在的。在网上查阅一番后才知道了其中的原因。
886 0
25个JavaScript数组方法代码示例
摘要: 通过代码掌握数组方法。 原文:通过实现25个数组方法来理解及高效使用数组方法(长文,建议收藏) 译者:前端小智 Fundebug经授权转载,版权归原作者所有。 要在给定数组上使用方法,只需要通过[].方法名即可,这些方法都定义在 Array.prototype 对象上。
3415 0
xcode使用lldb的python脚本查看WebKit的WTF::String和Vector等基础类
webkit关于gdb的wiki:http://trac.webkit.org/wiki/GDB 它是自带了gdb和lldb的python脚本的,路径分别在 webkit workingcopy/Tools/gdb/webkit.
956 0
ASP.NET Core 新核心对象WebHost(一)
以本系列文章向Fish 前辈的那篇我心中的ASP.NET 核心对象致敬。(虽然不知道前辈现在在干什么)。一晃就6年过去了,那首 郝云 的《回到那一天》怎么唱来着? 时光一晃,你就三十了。 而我们都变成了老了的程序员
754 0
JavaScript创建对象(四)——组合使用构造函数和原型模式
在JavaScript创建对象(三)——原型模式中,我们阐述了原型模式存在的两个问题:一是没办法通过构造函数初始化对象属性,二是共享引用类型的数据导致数据错乱。
825 0
JavaScript使用原型判断对象类型
1. constructor属性 在JavaScript创建对象(二)——构造函数模式中,我们说过可以使用对象的constructor属性判断对象的类型:p1.constructor === Person,可能当时就有细心的读者会想,我们并没有给这个对象添加过constructor,这个属性是从哪儿来的呢?讲过原型之后,我们知道这个属性是原型中的,所以一般重写原型时也都会把constructor补上。
1124 0
+关注
20382
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载