正则表达式编程练习题(js版本)

下面是源代码文件:chars_exercise.js

/*****1.给一个连字符串例如:get-element-by-id转化成驼峰形式******/
export default (str)=>{
  var reg = /-\w/g;
  return str.replace(reg,function($0){
    return $0.slice(1).toUpperCase();
  })
}

/*****2.匹配二进制数字******/
export default (num)=>{
  var reg = /^[01]+$/g;
  return reg.test(num);
}

/*****3.非零的十进制数字 (有至少一位数字, 但是不能以0开头)******/
export default (num)=>{
  var reg = /^[1-9]\d{1,}$/g;
  return reg.test(num);
}

/*****4.匹配一年中的12个月******/
export default (num)=>{
  var reg = /^(0?[1-9]|1[0-2])$/g;
  return reg.test(num);
}

/*****5.匹配qq号5~13位数,不能以0开头,只能是数字******/
export default (num)=>{
  var reg = /^[1-9]\d{5,13}$/g;
  return reg.test(num);
} 

/*****6.匹配用尖括号括起来的以a开头的字符串******/
export default (num)=>{
  var reg = /<a[^>]+>/g;
  return num.match(reg)[0];
}

/*****7.分割数字每三个以一个逗号划分******/
export default (str)=>{
  var reg = /(\d)(?=(\d{3})+$)/g;//(\d{3})+$ 的意思是连续匹配 3 个数字,且最后一次匹配以 3 个数字结尾。
  return str.replace(reg,'$1,');
}

下面是chars_exercise.test.js:

import charEx from '../src/chars_exercise';

test('1.get-element-by-id转化成驼峰形式',()=>{
  expect(charEx('get-element-by-id')).toBe('getElementById');
})

test('2.匹配二进制数字',()=>{
  expect(charEx("1010101")).toBe(true);
})

test('3.非零的十进制数字 (有至少一位数字, 但是不能以0开头',()=>{
  expect(charEx("1001212")).toBe(true);
})

test('4.匹配一年中的12个月',()=>{
  expect(charEx("11")).toBe(true);
})

test('5.匹配qq号5~13位数,不能以0开头,只能是数字',()=>{
  expect(charEx("563796220")).toBe(true);
})

test('6.匹配用尖括号括起来的以a开头的字符串',()=>{
  expect(charEx("<a herf='www.baidu.com'>")).toBe("<a herf='www.baidu.com'>");
})

test('7.分割数字每三个以一个逗号划分',()=>{
  expect(charEx("12345678901")).toBe('12,345,678,901');
})

使用jest测试工具进行测试,详细教程请见使用Jest测试JavaScript

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值