【JavaScript练习】关于字符串处理
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 1. 写一个名为toCamelCase的方法,
// 实现把类似'abc-def-ghi'的字符转换成'abcDefGhi'。
function toCamelCase(str) {
return str.replace(/-(.)/g, function($0, $1) {
return $1.toUpperCase()
})
}
console.log(toCamelCase("abc-def-ghi"));
// 2. 写一个名为toDashJoin的方法,
// 实现把驼峰形式字符串'abcDefGhi'转换成'abc-def-ghi'。
function toDashJoin(str) {
return str.replace(/[A-Z]/g, function($0) {
return '-' + $0.toLowerCase()
})
}
console.log(toDashJoin("abcDefGhi"));
// 3. 写一个名为toCapitalize的方法,
// 实现首字母大写功能(原来字母就是大写的不处理),如'i like css'转换成'I Like Css'。
function toCapitalize(str) {
return str.replace(/(\s+|^)(\w)/g, function($0, $1, $2) {
return $1 + $2.toUpperCase()
})
}
console.log(toCapitalize('i like css'));
// 4. 写一个名为toBetterUrl的方法,
// 实现把类似'CSS value type'转换成'css-value-type'(只需考虑空格和大小写处理)。
function toBetterUrl(str) {
return str.replace(/[A-Z]/g, function($0) {
return $0.toLowerCase()
}).replace(/\s+/g, '-')
}
console.log(toBetterUrl('CSS value type'));
</script>
</body>
</html>
运行结果