正则表达式编程练习题(js版本)下⾯是源代码⽂件:chars_exercise.js
/*****1.给⼀个连字符串例如:get-element-by-id转化成驼峰形式******/
export default(str)=>{
var reg =/-\w/g;
place(reg,function($0){
return $0.slice(1).toUpperCase();
})
}
/*****2.匹配⼆进制数字******/
export default(num)=>{
var reg =/^[01]+$/g;
st(num);
}
/*****3.⾮零的⼗进制数字 (有⾄少⼀位数字, 但是不能以0开头)******/
export default(num)=>{
var reg =/^[1-9]\d{1,}$/g;
st(num);
}
/*****4.匹配⼀年中的12个⽉******/
export default(num)=>{
var reg =/^(0?[1-9]|1[0-2])$/g;
st(num);
}
/*****5.匹配qq号5~13位数,不能以0开头,只能是数字******/
export default(num)=>{
var reg =/^[1-9]\d{5,13}$/g;
st(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 个数字结尾。place(reg,'$1,');
}
下⾯是st.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);
})
js中文正则表达式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'>")).toBe("<a herf='www.baidu'>"); })
test('7.分割数字每三个以⼀个逗号划分',()=>{
expect(charEx("12345678901")).toBe('12,345,678,901');
})
使⽤jest测试⼯具进⾏测试,详细教程请见
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论