- 格式化货币(仅转换小数点前的整数部分)
实现效果,遵循的原则: - ==> 123,456,789
123456789.1234 ==> 123,456,789.123
const formatMoney = (money) =>{
return money.replace( new RegExp( `(?!^)(?=(\\d{3})+${money.includes('.') ? '\\.' : '$'})`, 'g'), ',' ) )
}
formatMoney('123456789') // '123,456,789'
formatMoney('123456789.123') // '123,456,789.123'
formatMoney('123') // '123'
formatMoney('123456789.123456')//'123,456,789.123456'
- 实现trim功能的两种方式
去掉字符串首尾的空格
方法1:
const trim1 = (str) => {
return str.replace( /^\s*|s*$/g, '' )
}
const string = ' hello world '
const noSpaceString = 'hello world'
const trimString = trim1( string)
console.log(string) // hello world
console.log(trimString, trimString === noSpaceString)//hello world, true
console.log(string) // hello world
方法2:
const trim2 = (str) => {
return str.replace(/^\s*(.*?)\s*$/g, '$1')
}
const string = ' hello medium '
const noSpaceString = 'hello medium'
const trimString = trim2(string)
console.log(string) // hello medium
console.log(trimString, trimString === noSpaceString)//hello medium,true
console.log(string)// hello medium
- 解析链接上的搜索参数
// url https://qianlongo.github.io/vue-demos/dist/index.html?name=fatfish&age=100#/home
const getQueryByName = (name) => {
const queryNameRegex = new RegExp(`[?&]${name}=([^&]*)(&|$)`)
const queryNameMatch = window.location.search.match(queryNameRegex)
return queryNameMatch ? decodeURIComponent(queryNameMatch[1]) : ''
}
const name = getQueryByName('name')
const age = getQueryByName('age')
console.log(name, age) // fatfish, 100
- 驼峰式字符串
示例:
foo Bar => fooBar
foo-bar---- => fooBar
foo_bar__ => fooBar
const camelCase = (string) => {
const camelCaseRegex = /[-_\s]+(.)?/g
return string.replace(camelCaseRegex, (match, char) => {
return char ? char.toUpperCase() : ''
})
}
console.log(camelCase('foo Bar')) // fooBar
console.log(camelCase('foo-bar--')) // fooBar
console.log(camelCase('foo_bar__')) // fooBar
- 将字符串的首字母转换为大写
请将 hello world 转换为 Hello World。
const capitalize = (string) => {
const capitalizeRegex = /(?:^|\s+)\w/g
return string.toLowerCase().replace(capitalizeRegex, (match) => match.toUpperCase())
}
console.log(capitalize('hello world')) // Hello World
console.log(capitalize('hello WORLD')) // Hello World
- 按照3-4-4格式划分电话号码
let mobile = '18379836654'
let mobileReg = /(?=(\d{4})+$)/g
console.log(mobile.replace(mobileReg, '-')) // 183-7983-6654
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。