文章目录

  • codewars-js练习
    • 2021/2/5
      • github 地址
      • 【1】<5kyu>【Regex Password Validation】
      • 【2】<6kyu>【Two Sum】
      • 【3】<5kyu>【String incrementer】

codewars-js练习

2021/2/5

github 地址

my github地址,上面有做的习题记录,不断更新…

【1】<5kyu>【Regex Password Validation】

You need to write regex that will validate a password to make sure it meets the following criteria:

  • At least six characters long
  • contains a lowercase letter
  • contains an uppercase letter
  • contains a number

Valid passwords will only be alphanumeric characters.

您需要编写正则表达式来验证密码,以确保它符合以下条件:

至少6个字符/包含小写字母/包含大写字母/包含许多/有效的密码只能是字母数字字符。

example

('djI38D55'), 'djI38D55 - Expected true'
('a2.d412'), 'a2.d412 - Expected false'

solution

<script type="text/javascript">function validate(password) {return /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])\w{6,}$/g.test(password);}// 验证console.log(validate('djI38D55')); // trueconsole.log(validate('a2.d412')); //falseconsole.log(validate('123'));//falseconsole.log(validate('jfkdfj3j'));//falseconsole.log(validate('JHD5FJ53'));//false</script>

【2】<6kyu>【Two Sum】

Write a function that takes an array of numbers (integers for the tests) and a target number. It should find two different items in the array that, when added together, give the target value. The indices of these items should then be returned in a tuple like so: (index1, index2).

返回相加等于目标和的两个index

example

twoSum [1, 2, 3] 4 //(0, 2)
twoSum [1234,5678,9012] 14690//[1,2]

solution

<script type="text/javascript">function twoSum(numbers, target) {// console.log(numbers,target);for(var i=0;i<numbers.length;i++){for(var j=i+1;j<numbers.length;j++){if(numbers[i] + numbers[j] == target){// console.log(numbers[i]+numbers[j] == target);return [i,j];}}          }}// 验证console.log(twoSum([1,2,3],4)); // [0,2]console.log(twoSum([1234,5678,9012],14690));//[1,2])</script>

【3】<5kyu>【String incrementer】

Your job is to write a function which increments a string, to create a new string.

  • If the string already ends with a number, the number should be incremented by 1.
  • If the string does not end with a number. the number 1 should be appended to the new string.

你的工作是写一个函数来增加一个字符串,来创建一个新的字符串。

如果字符串已经以一个数字结束,则该数字应该加1;如果字符串没有以数字结束。数字1应该被附加到新的字符串中。

example

foo -> foo1foobar23 -> foobar24foo0042 -> foo0043foo9 -> foo10foo099 -> foo100

solution

<script type="text/javascript">function incrementString (strng) {console.log(strng);var arr = strng.split('');var num = strng.match(/(\d*)$/)[0];// console.log(typeof num);var len = strng.length - num.length;if(num !=0){for(var i=num.length-1;i>0;i--){if(parseInt(num[i])==0){// console.log(strng.substring(0,len+i+1));// console.log(strng.substring(strng.length-1,strng.length))if(strng.substring(strng.length-1,strng.length) == 9){return strng.substring(0,len+i) + (parseInt(num)+1);}return strng.substring(0,len+i+1) + (parseInt(num)+1);// if()}}return strng.substring(0,len) + (parseInt(num)+1);}else{console.log((/0{1,}/g).test(num))// console.log('2')if((/0{1,}/g).test(num)){for(var i=num.length-1;i>0;i--){if(parseInt(num[i])==0){return strng.substring(0,len+i) + (parseInt(num)+1);}}}else{return strng + '1';}}}// 验证console.log(incrementString('foo')); // foo1// console.log(incrementString('foo9'));// foo10// console.log(incrementString('foobar001'));// foobar002console.log(incrementString('foobar000'))//foobar001</script>

以上为自己思路供大家参考,可能有更优的思路。最后一道祈求最优解,感觉我写的很繁琐

codewars练习(javascript)-2021/2/5相关推荐

  1. JavaScript(2021.9.26)

    一.引入 1.计算机语言 2.编程语言和标记语言的区别 3.数据存储单位 二.JavaScript简介 1.JS参考文献 菜鸟教程:AngularJS 参考手册 | 菜鸟教程 W3school:Jav ...

  2. echarts之 数据可视化简单页面模板

    今天,我们采用echarts数据可视化图形来做一个简单的数据可视化页面. 其中,涉及到一些css文件.js文件等等,都可以在这个博主的github上下载到,路过的小伙伴欢迎star!!​ Echart ...

  3. Echarts视图可视化-学习笔记(努力更新中)

    文章目录 1. Echarts简介 2. 常见的数据可视化库 3. Echarts第一个小案例 4. Echarts基础配置 4.1 title 4.2 tooltip 4.3 legend 4.4 ...

  4. Echarts-数据可视化

    在实训中,利用Echarts.css.JavaScript以及HTML来制作的一个数据可视化界面,支持折线图(区域图).柱状图(条状图).散点图(气泡图).K线图.饼图(环形图).雷达图(填充雷达 图 ...

  5. codewars练习(javascript)-2021/2/10

    文章目录 codewars-js练习 2021/2/10 github 地址 [1]<7kyu>[Hells Kitchen] codewars-js练习 2021/2/10 github ...

  6. codewars练习(javascript)-2021/2/1

    文章目录 codewars-js练习 2021/2/1 github 地址 [1]<7kyu>[Anagram Detection] [2]<7kyu>[Round up to ...

  7. 2021 GitHub年度报告:7300万开发者,最爱的依旧是Javascript

    视学算法报道 编辑:蛋酱 全球最大的代码托管平台 GitHub,至今已聚集了超过 7300 万的开发者. 2020 年,新冠疫情突然到来,拉开了人与人之间的「地理距离」.与此同时,开发者们不得不开始学 ...

  8. 2021年编程语言趋势预测:Python和JavaScript仍火热,Go不可小觑

    来源:AI科技评论 本文约2300字,建议阅读7分钟 本文为大家分析了 2021 年编程语言趋势. Tensorflow和Pytorch到底该用哪个呢? "import tensorflow ...

  9. 2021 年 JavaScript 大事记

    大家好,我是 ConardLi,不知不觉中,2021 年已经接近尾声了,不知道在 2021 这一年,你收获了什么?又失去了什么呢? 又到了开始做年终总结的时候了,今天,我来给 JavaScript 做 ...

  10. 2021年JavaScript的发展前景如何呢?

    在Web开发中,我们的世界瞬息万变,但我们能够了解2021年web 的发展趋势吗?通过研究2020年开发者调查的数据,我发现了一些有趣的事. 让我们深入研究并探索我们从数据中得到的发现吧. 包管理器 ...

最新文章

  1. linux中软件包安装(rpm和yum)
  2. nbu无法运行java控制台_Netbackup:nbu常见错误及故障解决
  3. 【Linux】一步一步学Linux——mktemp命令(263)
  4. 求职:网站编辑或网页美工(北京)
  5. python opencv把32位的灰度图变成8位的灰度图_python简单换脸程序
  6. 不同的二叉搜索树 II
  7. [转]其实每个男孩都想做一个感情专一的好男人
  8. JS--------文件操作基本方法:上传/下载
  9. 使用Java实现面向对象编程(6)
  10. Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
  11. 青岛科技大学计算机硕士就业,2021年青岛科技大学专业排行榜,哪个专业就业比较好...
  12. 比Word更优雅的记笔记/写文档/交报告方式
  13. 转:无损压缩和有损压缩
  14. Golang如何正确的停止Ticker
  15. C#编程,获取电脑硬件、硬盘、系统信息
  16. 如何用usb电缆连接到计算机,如何使用USB串行电缆将文件从计算机传输到树莓派...
  17. Macbook(M1版)的用户看过来,.net 6 Preview 6支持Apple Silicon for macOS
  18. ES千亿级搜索实战-架构优化
  19. python外星人颜色答案_Python-外星人
  20. 计算机专业应届生简历英语作文,计算机专业英文简历模板范文六篇

热门文章

  1. opencv-python 实现颜色检测
  2. 商店卖西瓜 10斤c语言,算法,西瓜切十刀,最多是多少块?
  3. 情人节程序员用HTML网页表白【情人节爱你的代码】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
  4. VIVADO synthesis和implementation具体完成什么操作
  5. PHP面向对象编程的基本概念定义操作属性方法
  6. windows简单命令
  7. 先有鸡还是先有蛋终结论
  8. Bugku:杂项 啊哒
  9. 异常:could not initialize proxy - the owning Session was closed
  10. 编译UE4出现C1076错误的解决方法