整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

大数据编程入门:JavaScript字符串

大数据编程入门:JavaScript字符串

符串一般用于编程、概念说明、函数解释等,今天小编将为大家带来大数据编程入门:JavaScript字符串,介绍在JavaScript中字符串的定义及应用。

JavaScript字符串定义

在JavaScript中,字符串用于存储和处理文本。

字符串可以存储一系列字符,例如“John Doe”。

字符串可以是插入引号中的任何字符,可以使用单引号或双引号:

var phone="Redmi";

var phone='Redmi';

想要访问字符串中的每个字符的时候,可以使用索引位置:

var character=phone[2];

字符串的索引从0开始,这意味着第一个字符的索引值为[0],第二个字符的索引值为[1],依此类推。

可以在字符串中使用引号。字符串中的引号不应与字符串中的引号相同:

var answer="It's alright";

var answer="He is called 'Johnny'";

var answer='He is called "Johnny"';

还可以通过向字符串添加转义字符来使用引号:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>Miuku</title>

</head>

<body>

<p id="demo"></p>

<script>

var x='It\'s so beautiful!';

var y="Her face is white like the \"snow\"";

document.getElementById("demo").innerHTML=x + "<br>" + y;

</script>

</body>

</html>

运行结果:

字符串长度

如果想要计算字符串的长度,可以使用内置属性length,实例:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>Miuku</title>

</head>

<body>

<script>

var txt="Hello World!";

document.write("<p>" + txt.length + "</p>");

var txt="ABCDEFGHIJKLMNOPQRSTUVWXYZ";

document.write("<p>" + txt.length + "</p>");

</script>

</body>

</html>

运行结果:

特殊字符

在JavaScript中,字符串用单引号或双引号编写。

因此,无法解析以下JavaScript实例:

"We are the so-called "Vikings" from the north."

在上面可以看到字符串 "We are the so-called " 被截断。

如何解决上述问题?可以使用反斜杠(\)来转义“Vikings”字符串中的双引号,如下所示:

"We are the so-called \"Vikings\" from the north."

反斜杠是转义字符。转义字符将特殊字符转换为字符串:

转义字符(\)可用于转义撇号、换行符、引号和其他特殊字符。

下表列出了可以使用字符串中的转义字符转义的特殊字符:

代码

输出

\’

单引号

\’’

双引号

\

反斜杠

\n

换行

\r

回车

\t

tab(制表符)

\b

退格符

\f

换页符

字符串可以是对象

通常,JavaScript字符串是原始值,可以使用以下字符创建:var firstName=“John”

但是,我们也可以使用new关键字将字符串定义为对象:var firstName=new String(“John”)

实例:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>Miuku</title>

</head>

<body>

<p id="demo"></p>

<script>

var x="John"; // x是一个字符串

var y=new String("John"); // y是一个对象

document.getElementById("demo").innerHTML=typeof x + " " + typeof y;

</script>

</body>

</html>

运行结果:

不要创建String(字符串)对象,它会减慢执行速度,并可能产生其他副作用:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>Miuku</title>

</head>

<body>

<p id="demo"></p>

<script>

var x="John"; // x 是字符串

var y=new String("John"); // y 是一个对象

document.getElementById("demo").innerHTML=x===y;

</script>

<p>===为绝对相等,即数据类型与值都必须相等。</p>

</body>

</html>

运行结果:

字符串属性和方法

原始值字符串,例如“John”,没有属性和方法(因为它们不是对象)。

原始值可以使用JavaScript属性和方法,因为JavaScript可以在执行方法和属性时将原始值视为对象。

字符串属性

属性

描述

constructor

返回创建字符串属性的函数

length

返回字符串的长度

prototype

允许您向对象添加属性和方法

字符串方法

方法

描述

charAt()

返回指定索引位置的字符

charCodeAt()

返回指定索引位置字符的 Unicode 值

concat()

连接两个或多个字符串,返回连接后的字符串

fromCharCode()

将 Unicode 转换为字符串

indexOf()

返回字符串中检索指定字符第一次出现的位置

lastIndexOf()

返回字符串中检索指定字符最后一次出现的位置

localeCompare()

用本地特定的顺序来比较两个字符串

match()

找到一个或多个正则表达式的匹配

replace()

替换与正则表达式匹配的子串

search()

检索与正则表达式相匹配的值

slice()

提取字符串的片断,并在新的字符串中返回被提取的部分

split()

把字符串分割为子字符串数组

substr()

从起始索引号提取字符串中指定数目的字符

substring()

提取字符串中两个指定的索引号之间的字符

toLocaleLowerCase()

根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射

toLocaleUpperCase()

根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射

toLowerCase()

把字符串转换为小写

toString()

返回字符串对象值

toUpperCase()

把字符串转换为大写

trim()

移除字符串首尾空白

valueOf()

返回某个字符串对象的原始值

以上就是关于大数据编程入门:JavaScript字符串的全部内容了,希望这篇文章可以帮助到大家~

在之前的一篇文章《如何打造属于自己的Javascript武器库,来封装这些经典的方法吧》中,有封装过一些简单的方法。

今天这篇文章我们继续看看关于字符串处理的常用方法,并将其封装,完善自己的Javascript武器库。

文中的代码我已经放到Github上了,有需要的同学可以自取。

https://github.com/zhouxiongking/article-pages/blob/master/articles/jsCapsulation/capsulation2.js

Javascript

去除空格的方法

该方法的主要目的是通过传递不同的参数,选择去除哪里的空格。

  • all - 代表所有空格

  • preBehind - 前后空格

  • previous - 前面空格

  • behind - 后面空格

主要思想是:通过正则表达式\s匹配空白字符,然后用''去替换空白字符。

得到的代码如下所示。

去除空格方法

字母大小写切换

该方法的主要目的是:将字符串的首字母或者全部字母,进行大小写转换。根据传入的参数进行处理。

  • FirstUpper - 首字母大写

  • FirstLower - 首字母小写

  • AllToggle - 全部大小写相互转换

  • AllUpper - 全部大写

  • AllLower - 全部小写

主要思想是:根据传入的参数,配合使用字符串自身的toUpperCase和toLowerCase方法。

得到的代码如下所示。

字母大小写转换

其中的ToggleCase方法用于大小写相互转换,其如下所示。

大小写相互转换

检测字符串类型

该方法主要用于检测输入的字符串是否是我们想要的类型,例如email代表邮箱,phone代表手机号,number代表数字,chinese代表中文。

主要思想是:获得想要获取类型的正则表达式,然后返回匹配的结果。

得到的代码如下所示。

检测字符串类型

上述的检测方案完全可以按照需求进行扩充,直接通过case,就可以自行添加。

检测密码强度

该方法主要用于模仿检测设置密码的强度,检测规则如下:

  • 如果密码长度小于6,则强度为0。

  • 如果密码包含数字,则强度加1。

  • 如果密码包含小写字母,则强度加1。

  • 如果密码包含大写字母,则强度加1。

  • 如果包含特殊字符,则强度加1。

上述规则会累加统计,最高强度为4。

得到的代码如下所示。

检测密码强度

随机生成指定长度字符串

该方法主要用于随机生成指定长度的字符串,例如随机验证码我们完全可以通过这个方法去实现。

主要思想是:先通过Math.random()方法生成随机数,然后调用toString(36)方法转化为字符串,再截取掉前面的0和小数点,循环计算直到达到指定长度。

该方法的核心在于toString()方法的使用,Number类型的toString方法已经重写,传入的参数表示转化的进制数,传入的范围是2-36,最小的2表示0-1,最大的36数字0-9和小写字母a-z,如上面的toString(36),表示要用36进制数表示。

根据以上分析,得到的代码如下所示。

随机生成指定长度字符串

统计给定字符串中,目标字符串出现的次数

该方法通过字符串的split方法实现特别简单。通过split方法按照目标字符串分割成数组,目标字符串出现的次数就是数组的长度减去1。

根据以上分析,得到的代码如下所示。

统计指定字符串出现次数

格式化处理字符串

该方法主要用于将字符串通过传入的参数格式化处理,接收的参数如下所示。

  • size - 表示分割的位数,默认为3。

  • delimiter - 处理后字符串的连接符,默认为','

该方法的思想是通过正则表达式,动态获取每次需要捕获的位数,然后将其捕获的位置前后替换为连接符。

得到的代码如下。

格式化字符串处理

结束语

今天这篇文章主要补充了Javascript中与字符串有关的方法的封装,其他需要封装的方法还有很多,大家也可以自行总结。

符串检索方法

1.想要获取字符串中某一字符

stringObject.charAt(index) 返回stringObject中得index位置的字符

stringObject.charCodeAt(index) 返回stringObject中得index位置的字符的字符编码。

2.想要获取字符串中某一字符的位置(与数组中用法一样)

stringObject.indexof(“ 你想要的字符串”); 返回字符串的位置 没有就返回-1

stringObject.lastindexof(“ 你想要的字符串”);从后往前搜索 返回字符串的位置

 1 <script type="text/javascript">
 2 var str="hello world";
 3 //1.想要获取字符串中某一字符:
 4 console.log(str.charAt(7));//显示索引7在的位置字符;
 5 console.log(str.charCodeAt(4));//显示索引在4位子的字符在ASCII码表上的编码号
 6 //2.想要获取字符串中某一字符的位置:
 7 var email="marry.mail@soho.com";
 8 console.log(email.indexOf("o"));//查找字符串中o第一次出现的位置的索引值;
 9 console.log(email.lastIndexOf("."));//查找字符串中"."最后出现一次所在的位置的索引值;
10 </script>

3-8 String(slice()-substring()和substr())

1想要截取字符串

1.slice(start,end)截取

1.最后一个参数省略时,截取到末尾。

2,参数为负数时,其值为字符串长度+该负数。

3,不包含最后参数本身(end)。

1 <script type="text/javascript">
2 var str="hello world";
3 //截取orl
4 console.log(str.slice(7,10));
5 console.log(str.slice(1));
6 console.log(str.slice(-7,-2));//str.slice(4,9)
7 </script>

2 substring()截取

说明:语法及功能同slice()完全一样。

区别在于:

1.当参数为负数时,自动将参数转换为0.

2.substring()会将较小的数作为开始位置,将较大的数作为结束位置。

1 <script type="text/javascript">
2 var str="hello world";
3 console.log(str.substring(-7,5));//(0,5)
4 console.log(str.substring(2,-5));//(0,2)
5 </script>

3.substr()截取;

语法:

stringObject.substr(start.len)

功能:

截取子字符串。

参数说明:

1.start:必需,指定子字符串的开始位置。

2.len:可选,表示截取的字符总数,省略时截取至字符串的末尾。

3.当start为负数时,会将传入的负值与字符串的长度相加。

4.当len为负数时,返回空字符串。

1 <script>
2 var str="hello world";
3 console.log(str.substr(6,3)); //等价于str.substring(6,9)
4 console.log(str.substr(-5,4));//(6,4)
5 console.log(str.substr(3,-4));// 空截取个数为负数或0 则返回空字符串
6 </script> 

获取字符串中的特定的某一段方法综合

 1 <script type="text/javascript">
 2 //获取扩展名
 3 var url="http://baidu.com/index.txt"
 4 function getFileFormat(url){
 5 //获取.在URL中出现的位置
 6 var pos=url.lastIndexOf(".");
 7 return url.substr(pos);
 8 }
 9 var formatName=getFileFormat(url);
10 var picFormat=getFileFormat("123456789.jpg");
11 console.log(formatName);
12 console.log(picFormat);
13 </script>

3-20 String(split和replace)

1.split()

stringObj.split(separator)

把一个字符串分割成字符串数组 返回值:Array 说明:必需,分隔符.

1 <script type="text/javascript">
2 var str="welcome-to-beijing";
3 //使用split将str转化为数组
4 var arr=str.split("-");
5 console.log(arr);//["welcome","to","beijing"]
6 var date="2016/05/05";
7 var dateArr=date.split("");
8 console.log(dateArr);//["2016","05","05"]
9 </script>

2 replace()

stringObj.replace(regexp/substr, replacement)

在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

返回值:string

参数:regexp:必需。规定子字符串或要替换的模式的RegExp对象。 replacement:必需,一个字符串值.

1 <script>
2 //替换 replace
3 var tel="010-62971268,010-64899373,010-34565767";
4 //newTel被替换之后的字符串
5 var newTel=tel.replace(','," ");
6 console.log(newTel);
7 </script>

3-26 String(toUpperCase和toLowerCase)

掌握字符串方法的其他方法:

1.toUpperCase():

语法:
stringObject.toUpperCase()
功能:
把字符串转换为大写

2.toLowerCase():

语法:
stringObject.toLowerCase()
功能:
把字符串转化为小写

3.将字符串border-left-color转换成borderLeftColor