解法1: str.indexOf()

function containsNumber(str) {for(let i=0; i<10; i++){if(str.indexOf(i)!==-1){return true;}}return false;
}

解法2: 正则表达式 test()方法



一、知识点(indexOf / test )

indexOf() - 查找方法 - 数组、字符串通用

str.indexOf(searchString, startIndex):
返回子字符串第一次出现的位置,从startIndex开始查找,找不到时返回-1

str.lastIndexOf(searchString, startIndex):
从右往左查找子字符串,找不到时返回-1

var str="hello world";
console.log(str.indexOf("o"));  //4
console.log(str.lastIndexOf("o"));  //7
console.log(str.indexOf("o",6));    //7
console.log(str.lastIndexOf("o",6));  //4

正则表达式 && test()方法

定义: 正则表达式即描述字符串规则的表达式

表达式:
/pattern/attrs /规则/属性
new RegExp(pattern,attrs)

test()方法

regexObj.test(str)方法:

  • 测试正则表达式与指定字符串是否匹配
  • 若待测试字符串 (str) 中包含了要测试的字符串 (正则式) 就返回true

1.匹配一段字符串

/123456/.test("123456")   //true
/123456/.test("abc123456")   //true
/123456/.test("123456abc")   //true
/123456/.test("12345")   //false

2.锚点:匹配一个位置

  • ^:起始位置
  • $:结尾位置
  • \b:单词边界
/^http/.test("http://www.baidu.com")    //true
/^http/.test("ahttp://www.baidu.com")    //false
/com$/.test("http://www.baidu.com")    //true
/com$/.test("http://www.baidu.comb")    //false
/\bis\b/.test("this")    //flase   此处的is不是单词
/\bis\b/.test("that is my mom !")   //true

3.字符类:匹配一类字符中的一个

  • [abc] a或b或c
  • [0-9] 一个数字 [^0-9] 非数字的一个字符
  • [a-z] 一个字母
  • . 任一字符(换行符除外)
/[0-9]/.test('123')  //true
/[0-9]/.test('abc')  //false
/^[0-9]/.test('abc') //false
/[^0-9]/.test('abc') //true
/[a-z]/.test('abc') //true
/./.test('abc') //true
/./.test('1234abc') //true

4.元字符:具有特殊意义的字符

  • ^、$、\b
  • \d [0-9] \D [^\d]
  • \s 空白符 \S [^\s]
  • \w [A-Za-z0-9]
/\d/.test('123') //true
/\D/.test('123') //false
/\D/.test('abc') //true
/\s/.test('1  23') //true
/\S/.test('1 23') //true
/\S/.test(' ') //false
/\w/.test('abc123ABC') //true

5.量词:出现的次数

  • {m,n} m 到 n次之间
  • * 0到无穷次
  • ? 0次或1次
  • + 1次或1次以上
/\d*/.test('abc') //true
/\d+/.test('abc') //false
/\d+/.test('1abc') //true
/https?/.test('https://www.163.com') //true
/https?/.test('http://www.163.com') //true
/https?/.test('httpss://www.163.com') //false

实例1 - 验证手机号

/^1\d{10}$/.test('17796401352')    //ture    匹配手机号
  • ^表示开头
  • $表示结尾
  • \d表示数字
  • {10}表示前面的\d有10位,

牛客JS40_判断是否包含数字(indexOf / 正则表达式)相关推荐

  1. 牛客题霸 [回文数字(palindrome-number)] C++题解/答案

    牛客题霸 [回文数字] C++题解/答案 题解: 首先:负数不可以回文(起码看着就不对称) 然后我们将x翻转,很简单sum=sum*10+x%10; 因为x最终会变成0,所以用y先存一下x 最后比较s ...

  2. 牛客练习赛13-B,幸运数字2

    链接: https://www.nowcoder.com/acm/contest/70/B 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524 ...

  3. 牛客网 牛客练习赛13 A.幸运数字Ⅰ

    A.幸运数字Ⅰ 链接:https://www.nowcoder.com/acm/contest/70/A 来源:牛客网 水题. 代码: 1 #include<iostream> 2 #in ...

  4. 牛客网 牛客练习赛13 C.幸运数字Ⅲ-思维

    C.幸运数字Ⅲ 链接:https://www.nowcoder.com/acm/contest/70/C 来源:牛客网 这个题447和477是特殊的,其他的就没什么了. 代码: 1 #include& ...

  5. 牛客网_PAT乙级_1019. 数字黑洞 (20)

    总结 注意!! 想要在函数中结束程序,一定不要用system("pause");,因为这样只是让程序暂停,结果就是运行时间超时,无法通过所有的测试用例. 那么,C++ 程序中什么函 ...

  6. 牛客13584 日历中的数字

    链接:https://ac.nowcoder.com/acm/problem/13584 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语言2621 ...

  7. 【js】判断是否包含数字

    题目描述 给定字符串 str,检查其是否包含数字,包含返回 true,否则返回 false 示例1 输入 'abc123' 输出 true 1.正则,test function containsNum ...

  8. 牛客练习赛13-C题幸运数字III

    转自一位大佬:http://blog.csdn.net/wyxeainn/article/details/79588812 题目: 链接:https://www.nowcoder.com/acm/co ...

  9. python判断是否包含数字的成语_Python知识点记录三(正则表达式)

    正则表达式 正则表达式是一个特殊的字符序列,可以检测一个字符串是否与我们设定的字符序列相匹配. 一.findall()方法 re模块下的findall()方法可以查找对应字符/字符串 最简单的方法可以 ...

最新文章

  1. Spring bean 之 FactoryBean
  2. 使用mne进行脑电信号分析
  3. AngularJS+Satellizer+Node.js+MongoDB-Instagram-20
  4. mfc怎么计算字符串宽度_Python基础之好玩的字符串格式化f-string格式
  5. 思科(Cisco)路由器策略路由配置详解
  6. android studio -genymotion神奇错误
  7. python实现rpc框架_使用Python实现RPC框架
  8. CoreAnimation编程指南(七)图层Action
  9. hue是不是集成了oozie_在hue里面集成spark2,使用oozie的调度
  10. 0动态规划中等 LeetCode97. 交错字符串
  11. edptrayicon怎么卸载_谁知道怎样删除北信源内网管理软件客户端?
  12. AT91SAM9260搭建LINUX操作系统
  13. Android应用调用第三方地图应用导航
  14. 举个栗子!Tableau 技巧(109):用 LOD 计算产品销售周期
  15. 关于Floyd算法 和 Dijkstra算法
  16. 矩阵相乘的理解(矩阵相乘的几何意义)及证明过程
  17. 2020深圳杯B题论文
  18. utorrent设置上传速度_设置好uTorrent让你的下载速度飞起来......
  19. 零基础入门CV赛事- 街景字符编码识别
  20. oracle rac linux下安装

热门文章

  1. uniapp开发微信小程序 如何在小程序中跳转别的小程序
  2. OSI参考模型传输层
  3. java实现多种加密模式的AES算法-总有一种你用的着
  4. 国内外开源大咖云集,首次 Apache 亚洲会议主题演讲预告
  5. java actioncontext_java之struts2的ThreadLocal和ActionContext
  6. 名词解释第七十五讲:溢价
  7. 手写一个@MapperScan扫描器
  8. 【Linux】管理服务器硬件配置信息的常用命令
  9. Django异步任务
  10. 最小二乘法求回归直线方程的推导