JS能力测评45:判断是否符合 USD 格式

思路:

本题注意点有必须是USD格式,以$开头,数字结尾,$和小数点的转义。
首先,开头必是$,而正则表达式中$表示结尾,需要进行转义,因此开头为^\$
然后$后必然接数字,并且最少一位,最多三位数,可用{m,n}表示,最少m位,最多n位,因此此段为\d{1,3}
接着,后面如还有数,则必然有,分隔,并且后面必有3个数,类似于,XXX的格式会出现0或者n次,因此此段可表示为(,\d{3})*
最后,如有小数部分,则注意对小数点进行转义,此段可表示为(\.\d{2})?
因此,最后的正则表达式为/^\$\d{1,3}(,\d{3})*(\.\d{2})?$/
使用test方法去检测str

function isUSD(str) {
    var b=/^\$\d{1,3}(,\d{3})*(\.\d{2})?$/;
    return b.test(str)
}

猜你喜欢

转载自blog.csdn.net/weixin_43160613/article/details/86551083
今日推荐