正则使用:判断是否满足指定格式

Posted 安之ccy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则使用:判断是否满足指定格式相关的知识,希望对你有一定的参考价值。

案例(1):
给定字符串 str,检查其是否符合如下格式 (来源牛客网)
 
1、XXX-XXX-XXXX
2、其中 X 为 Number 类型

// XXX-XXX-XXXX 
function checkFormat(str)
    let reg = /^\\d3-\\d3-\\d4$/;
    return reg.test(str)

let result = checkFormat('1800-555-1212')
console.log(result)

注意要以XXX开头,

  • 如果用^没有指定开头,/\\d3-\\d3-\\d4$/不足以筛选'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(,\\d3)*)|0)(\\.\\d2)?$/
    // return str.match(reg);
    return reg.test(str)

let res = isUSD('$132.03')
console.log(res);

注意:

  • 如果整数部分是多位数,第一位不能为0
  • 整数部分长度如果不是3的倍数,只需保证逗号间隔的子串数字长度为3
  • 注意小数点在正则中代表任意字符(换行符 \\n 除外),需要用转义字符转义

以上是关于正则使用:判断是否满足指定格式的主要内容,如果未能解决你的问题,请参考以下文章

正则使用:判断是否满足指定格式

shell-------正则表达式

干啥都要沾一点的正则表达式

lqb 基础练习 闰年判断

正则表达式

基础练习(01)闰年判断