`

JavaScript处理字符串

阅读更多
虽然 JavaScript 有很多用处,但是处理字符串是其中最流行的一个。下面让我们深入地分析一下使用 JavaScript 操作字符串。在 JavaScript 中, String 是对象。 String 对象并不是以字符数组的方式存储的,所以我们必须使用内建函数来操纵它们的值。这些内建函数提供了不同的方法来访问字符串变量的内容。下面我们详细看一下这些函数。

包罗万象

操作字符串的值是一般的开发人员必须面临的家常便饭。操作字符串的具体方式有很多,比如说从一个字符串是提取出一部分内容来,或者确定一个字符串是否包含一个特定的字符。下面的 JavaScript 函数为开发人员提供了他们所需要的所有功能:

•  concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串。

•  indexOf() – 返回字符串中一个子串第一处出现的索引。如果没有匹配项,返回 -1 。

•  charAT() – 返回指定位置的字符。

•  lastIndexOf() – 返回字符串中一个子串最后一处出现的索引,如果没有匹配项,返回 -1 。

•  match() – 检查一个字符串是否匹配一个正则表达式。

•  substring() – 返回字符串的一个子串。传入参数是起始位置和结束位置。

•  replace() – 用来查找匹配一个正则表达式的字符串,然后使用新字符串代替匹配的字符串。

•  search() – 执行一个正则表达式匹配查找。如果查找成功,返回字符串中匹配的索引值。否则返回 -1 。

•  slice() – 提取字符串的一部分,并返回一个新字符串。

•  split() – 通过将字符串划分成子串,将一个字符串做成一个字符串数组。

•  length() – 返回字符串的长度,所谓字符串的长度是指其包含的字符的个数。

•  toLowerCase() – 将整个字符串转成小写字母。

•  toUpperCase() – 将整个字符串转成大写字母。

注意: concat 、 match 、 replace 和 search 函数是在 JavaScript 1.2 中加入的。所有其它函数在 JavaScript 1.0 就已经提供了。

下面让我们看一下如何在 JavaScript 使用这些函数。下面的代码是用到了前面提到的所有函数:

function manipulateString(passedString1, passedString2) {

var concatString;

// The string passed to concat is added to the end of the first string

concatString = passedString1.concat(passedString2);

alert(concatString);

// The following if statement will be true since first word is Tony

if (concatString.charAt(3) == "y") {

alert("Character found!");

}

// The last position of the letter n is 10

alert("The last index of n is: " + concatString.lastIndexOf("n"));

// A regular expression is used to locate and replace the substring

var newString = concatString.replace(/Tony/gi,"General");

// The following yields Please salute General Patton

alert("Please salute " + newString);

// The match function returns an array containing all matches found

matchArray = concatString.match(/Tony/gi);

for (var i=0; i<matchArray.length;i++) {

alert("Match found: " + matchArray[i]);

}

// Determine if the regular expression is found, a –1 indicates no

if (newString.search(/Tony/) == -1) {

alert("String not found");

} else {

alert("String found.");

}

// Extract a portion of the string and store it in a new variable

var sliceString = newString.slice(newString.indexOf("l")+2,newString.length);

alert(sliceString);

// The split function creates a new array containing each value separated by a space

stringArray = concatString.split(" ");

for (var i=0; i<stringArray.length;i++) {

alert(stringArray[i];

}

alert(newString.toUpperCase());

alert(newString.toLowerCase());

}

下面是执行上面的代码得到的结果:

Tony Patton
Character Found!
The last index of n is: 10
Match found: Tony
Please salute General Patton
String not found
Patton
Tony
Patton
GENERAL PATTON
general patton

示例代码把所有这些提到的函数都用到了。

特殊字符

除了这些函数之外,还有很多的特殊字符可以用来表示关键的效果。这些特殊字符包括:

•  – 跳格键

•   – 退格 / 删除

•  – 回车

•  – 换行

•  f – 换页

特殊字符最常见的用途就是格式化输出。例如,你可能需要在输出中插入一个换行来正确地显示一个值。而且,在换行时也需要回车。在一些平台上,“ ”已经足够产生换行效果了,而在一些机器上要正确地显示一个换行则需要“ ”。下面的例子显示了在一个多行窗口上显示的特殊字符:

var output = null;
output = "Special Characters";
output += " ";
output += "===============";
output += " ";
output += "t - tab";
output += " ";
output += "b - backspace/delete";
output += " ";
output += "r - carriage return";
output += " ";
output += "n - newline";
output += " ";
output += "f - form feed";
output += " ";
alert(output);


前面的例子使用加号来连接字符串,而没有使用 concat 函数。原因很简单,对于 concat 函数来说,每一个操作都需要一个新的变量;反之,我们这里用的这种方法则简单地扩展了原有的值,而不需要新的变量。而且,示例中使用换码符来正确地显示特殊字符。系统将一个反斜线当作一个信号,认为它后面会跟一个特殊字符,但是连着两个反斜线则抵消这种操作。输出中的每个字符都通过 newline 特殊字符被显示在新的一行。

添加到工具箱中

特殊字符和函数可以与其它 JavaScript 技巧结合起来解决很多问题。其中一种情况是用来进行 JavaScript 客户端表单验证,这篇文章中提出的方法可以简单地用来实现表单验证。

下面的代码将在一个表单被提交时调用。要提交的表单包含三个域:名称、地址和邮政编码。为了实现起来比较简单,我们只验证每个域都不能为空,并且邮政编码必须是数字。下面的 JavaScript 代码完成这一功能:

function validation() {

var doc = document.forms[0];

var msg = "";

if (doc.Name.value == "") {

msg += "- Name is missing ";

}

if (doc.Address.value == "") {

msg += "- Address is missing ";

}

if (doc.ZipCode.value == "") {

msg += "- Zip code is missing ";

}

var zip = new String(doc.ZipCode.value);

if (zip.search(/^[0-9][0-9][0-9][0-9][0-9]$/)==-1) {

msg += "- Enter valid Zip code";

}

if (msg == "") {

doc.submit;

} else {

msg = "Please correct the following validation errors and re-submit: " + msg;

alert(msg);

}

}

在用户提交表单时,这个函数就会被调用。对函数的调用是在一个 HTML 按钮的 onSubmit 事件中实现的。

<input type="button" type="submit" value="submit" onClick="validation()">

验证函数检查每个域是否为空。如果发现了一个空值,那么就会在验证消息变量 msg 后面添加一个出错消息。此外,还使用了一个正则表达式来验证邮政编码域的格式。在这里,我们只接受五位数的美国地区邮政编码。如果发现有任何错误(即 msg 变量不为空),那么程序就会显示一个错误消息;否则的话,程序就会提交表单。

一门强大的语言

JavaScript 已经发展成熟为一种功能完备的语言,能够用来构建强大的应用程序。它是对具有非连接性天性的 Web 界面的一个完美的补充,能够在不与 Web 服务器交互的情况下完成很多客户端操作。
分享到:
评论

相关推荐

    Javascript中字符串相关常用的使用方法总结

    随着ECMAScript标准的不断发展,ES6及之后版本引入了许多新的字符串处理方法,进一步增强了JavaScript字符串操作的能力: 1. **检查字符串开头或结尾** - `startsWith(searchString[, position])` 和 `endsWith...

    头歌教学实践平台 Web前端开发基础 JavaScript学习手册九:字符串

    总结,JavaScript中的字符串是处理文本数据的基本工具。理解和掌握字符串的特性及操作方法,对于Web前端开发者来说至关重要。通过熟练运用这些知识点,开发者能够更高效地处理和展示网页上的文本信息。在实际项目中...

    javascript字符串操作

    ### JavaScript字符串操作详解 在JavaScript中,字符串是用于表示文本数据的一种基本数据类型。字符串可以包含单个字符或多个字符组合成的文本序列。本文将详细介绍JavaScript中的字符串操作方法,帮助开发者更好地...

    javascript字符串排序

    3. 使用`parseInt()`、`parseFloat()`或`localeCompare()`等函数处理字符串比较 4. 考虑特殊场景,如忽略大小写、处理数字字符串或按照特定部分排序 通过理解和掌握这些知识点,开发者可以更灵活地处理各种字符串...

    JavaScript程序设计-ES之字符串扩展方法.pdf

    JavaScript是Web开发中不可或缺的一部分,尤其在...这些扩展方法显著增强了JavaScript处理字符串的能力,使得在编写代码时更加简洁、直观。了解并熟练掌握这些方法,对于提升JavaScript编程效率和代码质量至关重要。

    javascript将字符串中的多个空格替换为一个空格的正则实例.docx

    通过以上介绍,我们可以看到,在JavaScript中处理字符串是非常灵活且强大的。利用正则表达式结合内置方法,我们可以轻松地解决诸如去除字符串中多余空格之类的问题。这对于提高代码的健壮性和用户体验都有很大的帮助...

    javascript处理json字符串和json对象的类(含示例)

    `JSON.parse()`和`JSON.stringify()`是JavaScript处理JSON的核心工具,而实际项目中的HTML和JS文件则负责提供交互式用户体验。通过结合使用这些工具和技术,开发者能够轻松地在前端和后端之间传递和操作数据。

    JavaScript中的字符串操作 .txt

    字符串处理作为JavaScript编程中一个重要的组成部分,在实际应用中占据着举足轻重的地位。本文将深入探讨JavaScript中字符串操作的相关知识点,包括字符串的基本概念、常见操作方法及其应用场景。 #### 字符串的...

    JavaScript判断一个字符串是否包含指定子字符串的方法

    在处理字符串时,判断一个字符串是否包含另一个子字符串是常见的需求。本篇内容将详细介绍如何使用JavaScript来实现这一功能,并提供相关的代码示例和技巧。 首先,介绍基本的字符串包含判断方法。在ES5标准中,...

    theredoc让多行JavaScript字符串看起来排版更好

    它通过处理字符串的缩进、换行等细节,使你的代码更加易读,尤其是在处理大量文本数据时。 1. **安装与引入**: 在你的项目中,你可以使用npm(Node Package Manager)来安装`theredoc`库。在终端中运行以下命令:...

    javaScript中的字符串操作

    ### JavaScript中的字符串操作知识点 #### 一、概述 在JavaScript编程中,字符串处理是一项...以上是关于JavaScript中字符串操作的基本知识点,掌握了这些基本操作后,可以更加灵活地处理各种字符串相关的编程任务。

    字符串方法集合.docx

    这些方法都是JavaScript处理字符串时的常用工具,它们帮助开发者高效地操作和处理文本数据。在实际编程中,根据需求选择合适的方法,可以大大提升代码的可读性和效率。在ES6之后的版本中,还引入了更多的字符串方法...

    JavaScript截取中文字符串

    本文将详细介绍一个专门用于处理中文字符串截取的JavaScript函数,该函数能够根据字符的实际编码长度来精确控制截取的长度。 #### 二、关键概念解析 ##### 2.1 字符串截取 字符串截取是指从一个较长的字符串中...

    ES6--javascript判断一个字符串是否存在另一个字符串中

    ES6(ECMAScript 2015)作为 JavaScript 的一个重要版本更新,引入了许多新特性,使得字符串处理变得更加简单、直观。本文将详细介绍 ES6 中用于判断字符串是否存在的三种主要方法:`includes()`、`startsWith()` 和...

    work2_分割字符串_字符串处理_

    在处理字符串时,还需要注意内存管理和边界条件,防止缓冲区溢出和未初始化的指针等问题。例如,当你使用 `strcat()` 连接字符串时,确保目标字符串有足够的空间容纳新的字符。 字符串处理不仅是C语言的基本操作,...

    常用字符串处理函数-求子字符串,字符串分割,编码转换.

    在现代编程语言如JavaScript中,字符串处理是日常开发中极为常见的任务之一。本文将深入探讨几个常用的字符串处理函数,包括如何求取子字符串、进行字符串分割以及执行编码转换。这些功能在网页开发、数据处理和文本...

    JavaScript中判断两个字符串是否相等的方法

    在处理字符串比较时,还应注意区域设置(locale)的影响。JavaScript在比较字符串时会按照Unicode编码来比较。不同的区域可能会有不同的字符排序规则,例如西班牙语中“ch”会被视为一个独立的字符。为了使比较结果...

Global site tag (gtag.js) - Google Analytics