首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

带有正则表达式的Javascript inoperant Switch Case

正则表达式是一种用于匹配字符串的模式,可以用于搜索、替换等操作。在JavaScript中,可以使用RegExp对象来创建正则表达式。

在JavaScript中,可以使用正则表达式作为switch case的条件,以下是一个示例代码:

代码语言:javascript
复制
const str = "hello";
const regex = /^h/;

switch (true) {
  case regex.test(str):
    console.log("The string starts with 'h'");
    break;
  default:
    console.log("The string does not start with 'h'");
}

在这个示例中,我们使用正则表达式/^h/来匹配字符串是否以"h"开头。在switch case语句中,我们使用regex.test(str)作为条件,如果匹配成功,则执行相应的代码块。

需要注意的是,正则表达式的匹配可能会有一些复杂的情况,需要根据具体的需求进行调整。同时,在使用正则表达式时,也需要注意一些安全问题,例如正则表达式攻击等。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JavaScript switch case语句详解

JavaScript switch case语句详解 switch 语句专门用来设计多分支条件结构。与 else/if 多分支结构相比,switch 结构更简洁,执行效率更高。...switch 语句包含一个可选的 default 语句,如果在前面的 case 中没有找到相等的条件,则执行 default 语句,它与 else 语句类似。...,默认执行的代码 console.log("游客"); } 当 JavaScript 解析 switch 结构时,先计算条件表达式,然后计算第一个 case 子句后的表达式的值,并使用全等===运算符来检测两值是否相同...语句,就会发生连续执行的情况,从而忽略后面 case 子句的条件限制,这样就容易破坏 switch 结构的逻辑。...2 : console.log("VIP会员"); break; case 3 : console.log("管理员"); break; } 示例2 在下面代码中,JavaScript 先检测 case

47410
  • 一个switch case引起的线上bug

    当时第一反应是不可能 2、通过QA同学提供的test case,在测试环境通过curl发送请求,发现果然广告返回值跟预期不符。 3、通过git log对比,发现近期只有一个switch语句有修改。...深思 为什么在未增加新case之前,test case能通过呢?仔细找QA问了下case的逻辑,原来,case每次都会返回bid_type = 2。...此处,我们再贴一次之前的代码: switch (dsp_res->bid_type()) {         case 0:         {           auto info = dsp_response...此处列下switch case的三个规则:switch...case的三个规则: 既无成功匹配,又无default子句,那么swtich语句块什么也不做; 无成功匹配,但有default,那么swtich...\n" );     }     printf("Value of i = %d",i);     return 0; } 输出: 原因: switch 中的参数必须可以转换成一个整数 将default

    746140

    为什么switch里的case没有break不行

    javac编译和javap查看: 「tableswitch」和「lookupswitch」都用于switch条件跳转,前者用于case值连续,例如上面代码中的0、1、2;后者用于case值不连续。...从字节码可以看出:switch中的case条件和对应代码块是分开的。...如果case 0匹配成功,则跳到标号28执行,执行完代码块对应的31、32指令之后,执行35的goto指令跳转到标号55,这样就跳出了switch作用范围,case 1和2也不会被执行。...从字节码也可以看出if和switch的区别:if条件和代码块的字节码是顺序的,switch条件和代码块是分开的;if自动生成goto指令,switch只有加了break才生成goto指令。...结语 case中的break告诉前端编译器:「给每个case对应代码块的最后加上goto」。这样,执行完匹配上的代码之后,就可以略过后面的case代码块了。

    77920

    知识扩展--if...else...与switch...case...的执行原理if和switch的原理

    ,执行过程是当 switch 后表达式的值和 case 语句后的值相同时,从该位置开始向下执行,直到遇到 break 语句或者 switch 语句块结束;如果没有匹配的 case 语句则执行 default...) case后面的值可以是常量数值,如1、2;也可以是一个常量表达式,如2+2;但不能是变量或带有变量的表达式,如a*2。...2.3 总结 switch-case会生成一个跳转表来指示实际的case分支的地址,而这个跳转表的索引号与switch变量的值是相等的。...由此看来,switch-case结构有一点以空间换时间的意思,当分支较多的时候明显switch-case结构的实行效率会高很多。...但是switch-case的缺点是只能处理常量的匹配,在仅有常量选择分支的时候,可以选用switch-case结构,而此时通过遍历数组比较更是不可取的一种方式,但是if-elseif可以应用于更多的场合

    1.6K30

    一个switch case引起的线上故障

    当时第一反应是不可能 2、通过QA同学提供的test case,在测试环境通过curl发送请求,发现果然广告返回值跟预期不符。 3、通过git log对比,发现近期只有一个switch语句有修改。...深思 为什么在未增加新case之前,test case能通过呢?仔细找QA问了下case的逻辑,原来,case每次都会返回bid_type = 2。...此处,我们再贴一次之前的代码: switch (dsp_res->bid_type()) { case 0: { auto info = dsp_response...此处列下switch case的三个规则:switch...case的三个规则: 既无成功匹配,又无default子句,那么swtich语句块什么也不做; 无成功匹配,但有default,那么swtich...\n" ); } printf("Value of i = %d",i); return 0; } 输出: 原因: switch 中的参数必须可以转换成一个整数 将default

    46120

    C++中使用switch..case语句的易出错陷阱和规避方法

    参考链接: C++ switch..case语句 C++作为C语言的升级版,支持很多C语言不支持的语法。...来看这一段C++的swtich..case代码:   void fun(int nInput) {    switch(nInput)   {   case 1:     int n;     n =...++新的语法支持,在switch..case的分支case 1中,定义了整形变量n,并且把它赋值为1。...修改示例代码中的case 1部分,尝试把整形变量n初始化为0:   void fun(int nInput) {    switch(nInput)   {   case 1:     int n =...站在编译器的角度,如果对整形变量n进行初始化操作,那么则相当于默认switch..case会跳转到case 1标签下,这显然是一种置case 2和case default于不顾的非法行为;如果不进行初始化操作

    2.2K30

    JavaScript中的正则表达式

    https://blog.csdn.net/qq_32135281/article/details/78274563 Javascript的正则表达式是前端中比较重要的部分,正则表达式主要用于字符串处理...,表单验证等场合,实用高效,文章主要对JavaScript中的正则的学习与总结 正则表达式的定义 正则表达式:是一个描述字符模式的对象,JavaScrip中正则表达式用RegExp对象表示,可以使用RegExp...,参数必须是正则表达式,返回一个由匹配结果组成的数组 在match方法中如果正则表达式设置修饰符g,则返回的数组是字符串中所有匹配的结果 console.log('JAVA is not JAVAscript...对象的属性 RegExp 对象包含5个属性 属性 描述 global 只读的布尔值,用于说明表达式是否带有修饰符g ignoreCase 只读的布尔值,用于说明表达式是否带有修饰符i lastIndex...是一个读/写的整数,默认值为0,如果表达式带修饰符g,lastIndex的值会被设置为下次检索的开始位置(只有exec()和test()方法才会用到) multiLine 只读的布尔值,用于说明表达式是否带有修饰符

    54920

    JavaScript中的正则表达式

    正则表达式(Regular Expression)描述了一种字符串匹配的模式,可以用来检查一个字符串是否含有某种子串,将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。...new创建 var regExp = new RegExp("\\d","gi"); 两者的区别:如果使用new来创建那么需要对正则表达式进行转义如\d需要转义为\\d,\\需要转义为\\\\。...匹配标示 匹配标示 含义 g 全局匹配 i 忽略大小写 m 多行搜索 正则表达式的使用 JavaScript中正则表达式的使用涉及2个类型,一个就是上面的RegExp,还有一个就是我们常用的String...如果要获取匹配到的内容可以获取下标为0的元素。 限定符 限定符可以指定正则表达式的一个给定内容必须出现多少次才能满足匹配。...定位符 定位符可以将一个正则表达式固定在一行的开始或结束。也可以固定在单词的开始或结尾出。

    1K20
    领券