正则使用:判断是否满足指定格式
Posted 安之ccy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则使用:判断是否满足指定格式相关的知识,希望对你有一定的参考价值。
案例(1):
给定字符串 str,检查其是否符合如下格式 (来源牛客网)
1、XXX-XXX-XXXX
2、其中 X 为 Number 类型
// XXX-XXX-XXXX
function checkFormat(str){
let reg = /^\\d{3}-\\d{3}-\\d{4}$/;
return reg.test(str)
}
let result = checkFormat('1800-555-1212')
console.log(result)
注意要以XXX开头,
- 如果用^没有指定开头,
/\\d{3}-\\d{3}-\\d{4}$/
不足以筛选'1800-555-1212'
; - 需要再加一个约束,把全部字符串与match出来的第一个结果做比较;
- 即
reg.test(str) && str.match(reg)[0] === str
,
还是用'^'
方便些
案例(2):
判断是否符合 USD 格式 描述 给定字符串 str,检查其是否符合美元书写格式
1、以 $ 开始
2、整数部分,从个位起,满 3个数字用, 分隔
3、如果为小数,则小数部分长度为 2
4、正确的格式如:$1, 023, 032.03 或者 $2.03,错误的格式如:$3, 432, 12.12 或者 $34, 344.3
示例:
输入:’$20,933,209.93’ ‘$132.03’ ‘$0.93’
输出:true true true
function isUSD(str) {
let reg = /^\\$(([1-9][0-9]{0,2}(,\\d{3})*)|0)(\\.\\d{2})?$/
// return str.match(reg);
return reg.test(str)
}
let res = isUSD('$132.03')
console.log(res);
注意:
- 如果整数部分是多位数,第一位不能为0
- 整数部分长度如果不是3的倍数,只需保证逗号间隔的子串数字长度为3
以上是关于正则使用:判断是否满足指定格式的主要内容,如果未能解决你的问题,请参考以下文章