JavaScript

JavaScript学习笔记(字符串操作)

2019-12-16  本文已影响0人  moonfish1994

(最近刚来到简书平台,以前在CSDN上写的一些东西,也在逐渐的移到这儿来,有些篇幅是很早的时候写下的,因此可能会看到一些内容杂乱的文章,对此深感抱歉,以下为正文)


正文

本篇将要讲述的是在JavaScript中字符串的操作,上一篇也讲述了一些字符串的简单属性和方法,本篇将更加全面的讲述并且简单的介绍一下正则表达式在JavaScript中的使用。

先来说说String对象的一些其它方法:

  1. split()
    该方法用于将字符串按照传入的分割参数分割成一个字符串数数组,举例说明:

    代码示例
    运行结果
    如果分割分出现在字符串的末尾,那么还会分割出一个空字符串,这点值得注意,有时候会被忘记。
  2. replace()
    该方法将按照传入参数搜索字符串,将所有匹配的子串替换为想要的字符串,举例说明:

    代码示例
    运行结果
    从上例可以看出,成功替换了单词boy,注意这里替换时并没有对原有的str进行修改,只是返回了其修改过后的副本。
  3. search()
    该方法将对字符串按照传入的参数进行搜索,如果找到则返回该字符串第一次出现的位置,否则返回-1,举例说明:

    代码示例
    运行结果
  4. match()
    该方法按照传入的参数对字符串就行搜索。
    创建一个数组,将每一个符合要求的数据放入数组中,最终返回该数组,该方法常与正则表达式结合使用,举例说明:

    代码示例
    运行结果
    上面讲述了正则表达式,正则表达式通常用于检索,替换那些符合某个规则的文本。javascript中的正则表达式极大地借鉴了Perl中的正则表达式语法。

在JavaScript中,正则表达式是通过RegExp对象使用的,RegExp对象是javascript中的一个内置对象。

该对象有两种创建格式:

1. var myRegExp = /\d\d\d/;
2. var myRegExp1 = new RegExp("\\d\\d\\d");

RegExp有三个可以定义的属性:

  1. G:全局匹配,查找所有与模式匹配的子串,而不是在找到第一个子串后就停止查找。
  2. I:模式不区分大小写。
  3. M:多行标志。

使用方式如下:

var myRegExp = /\d\d\d/gim;

RegExp对象有一个test方法经常会被我们用到,该方法可以传入一个待检查的字符串,执行后,如果该字符串匹配规则则返回true,否则返回false。

本篇不花费太多的篇幅讲述正则表达式的使用方法,如果读者对此不熟悉的话可以点击后面的javascript正则表达式使用手册去学习。

下面用一个完整的例子来展示一下:

test.js

function isValidTelephoneNumber(telephoneNumber){
    var telRegExp = /^(\+\d{1,3} ?)?(\(\d{1,5}\)|\d{1,5})?\d{3}?\d{0,7}((x|xtn|ext|extn|pax|pbx|extension)?\.? ?\d{2-5})?$/i;
    return telRegExp.test(telephoneNumber);
}
test1.html:
<!DOCTYPE html>
<html lang="en">
<head>
    <title>just a test</title>
</head>
<body>
    <script src="test.js"></script>
    <script>
        var phoneNumber = prompt("Please enter a phone number:");
        if(isValidTelephoneNumber(phoneNumber)){
            alert("you enter a correct number");
        }else{
            alert("what you enter is not a phone number");
        }
    </script>
</body>
</html>

执行效果如下:


执行结果
执行结果

以上为本篇的全部内容,下一篇将详细介绍JavaScript中的日期,时间以及计时器。

上一篇下一篇

猜你喜欢

热点阅读