正则表达式判断是否包含指定字符串

一、正则表达式判断是否包含特殊字符

特殊字符除了字母、数字,还包括符号、空格等,在正则表达式中通过转义字符\来表示,如\?表示匹配问号。

function hasSpecialChar(str){
    let reg = /[\`\~\!\@\#\$\%\^\&\*\(\)\_\+\-\=\{\}\[\]\|\:\;\"\'\\,\.\?\/\s]/;
    return reg.test(str);
}

上述代码使用了字符集 [],表示匹配其中任意一个字符。使用\s匹配空格,\\用来转义。

二、正则表达式字符串中包含指定字符

在正则表达式中使用 | 来匹配多个条件,可以用来判断字符串中是否包含指定字符,如下例所示判断是否包含a或b或c。

function hasLetter(str, letter){
    let reg = new RegExp(letter);
    return reg.test(str);
}

console.log(hasLetter('abcdefg', 'a|b|c')); // true

上述代码使用了RegExp构造函数,可以动态生成正则表达式对象。

三、正则表达式不包含指定字符串

在正则表达式中使用^表示匹配不包含指定字符或字符串的情况,如下例所示判断是否不包含abc字符串。

function notContain(str){
    let reg = /^((?!abc).)*$/;
    return reg.test(str);
}

console.log(notContain('ABCDEFG')); // true
console.log(notContain('ABCDabcEFG')); // false

上述代码使用了负向前瞻式 (?!…),表示后面不包含括号内的内容。后面的.*表示匹配0个或多个任意字符。

四、正则表达式判断是否包含汉字

正则表达式匹配汉字,需要用到unicode编码,如下例所示判断是否包含汉字。

function hasChinese(str){
    let reg = /[\u4e00-\u9fa5]/; 
    return reg.test(str);
}

console.log(hasChinese('hello 世界')); // true
console.log(hasChinese('hello world')); // false

上述代码使用了unicode编码表示汉字字符范围 [\u4e00-\u9fa5]。

五、正则表达式判断是否包含符号

正则表达式匹配符号,需要使用对应符号的转义字符。\d 表示匹配数字字符,在[]中表示匹配非数字字符。

function hasSymbol(str){
    let reg = /[^\d\w]/; 
    return reg.test(str);
}

console.log(hasSymbol('hello*world')); // true
console.log(hasSymbol('helloworld')); // false

上述代码使用了[]中加^表示非,匹配任意非数字、非字母的字符,即符号。

原创文章,作者:MQSD,如若转载,请注明出处:https://www.506064.com/n/133810.html

(0)
MQSDMQSD
上一篇 2024-10-04
下一篇 2024-10-04

相关推荐

  • 泛谈java(泛谈成语)

    1、谁能给详细介绍下java的泛类型? 2、北大青鸟java培训:JAVA泛型浅谈? 3、关于java的现状与未来 4、浅谈一下java的学习方法问题 泛类型和泛型方法是Java5…

    编程 2024-10-03
  • python高效处理日期和时间数据

    一、日期和时间数据的基本概念 日期和时间数据是我们日常工作中常常遇到的数据类型,也是许多行业非常重要的数据类型,例如金融、物流等。在Python中,处理日期和时间数据是非常方便的,…

    编程 2024-10-04
  • Anaconda与PyCharm的区别

    介绍 Anaconda和PyCharm都是Python编程的重要工具。然而,它们之间存在一些重要的区别,而这些区别更适合不同的开发需求和特定的任务。本文将介绍Anaconda和Py…

    编程 2024-10-04
  • MongoDB关联查询

    MongoDB是一个文档型数据库,在查询数据的时候,经常需要使用到关联查询。本文将从多个方面对MongoDB关联查询进行详细阐述。 一、MongoDB关联查询效率 MongoDB关…

    编程 2024-10-04
  • Vue生态分析

    一、Vue生态库系统 Vue是一个用于开发Web界面的渐进式框架,通过生态库系统,为开发者提供了一系列丰富、高效、易用的增强工具和插件,大大提高了开发效率。 1、Vue CLI V…

    编程 2024-10-04
  • java数据转换,java数据转换优先级

    本文目录一览: 1、java数据类型转换方式有几种 2、java 数据类型转换 3、JAVA中怎么将int数据转换为byte数据? 4、java中如何将byte[]里面的数据转换成…

    编程 2024-10-04
  • c语言总体结构,c语言的总体结构是怎样的

    本文目录一览: 1、C语言的基本结构有哪些呀? 2、C语言程序的总体结构是怎样的? 3、c语言程序的基本结构是什么? 4、C语言源程序的基本结构是什么? C语言的基本结构有哪些呀?…

    编程 2024-10-10
  • javajson映射,Java映射

    本文目录一览: 1、有关restful 怎么把json对象直接映射成java对象 2、jackson中objectMapper的使用 3、Java的json反序列化:Java数据类…

    编程 2024-10-04
  • python中的时间处理函数的简单介绍

    本文目录一览: 1、可以列举三个优必杰擎课堂Python time库中可以用于获取系统时间的函数吗? 2、有人知道在Python中如何判断时间过去了1秒么?有木有这样的函数?如何运…

  • java后台开发实习生招聘工资(JAVA软件开发实训生招聘)

    本文目录一览: 1、石家庄Java开发工程师(实习生)待遇怎么样好不好 2、Java工程师一般月薪是多少? 3、学java找工作工资大概多少钱? 4、Java程序员一般工资多少 5…

    编程 2024-10-03

发表回复

登录后才能评论