我想用正则表达式检查收到的字段值是一个包含3个字符的字符串,如下所示:
EUR
USD
JPY
RUB
.
.
我有这个功能来检查它是否只是一个数字。
const onlyInteger = (oldValue, value) => {
oldValue = '';
if (value && String(value).trim().match(/^[+-]?\d+$/i)) {
return value;
}
return oldValue;
}
像这个函数来检查用户是否最多写了三个字符。
答案 0 :(得分:3)
验证字符串是货币:
str.match(/^(EUR|USD|JPY|RUB)$/)
验证是否有(任意)3个大写字母:
str.match(/^[A-Z]{3}$/)
答案 1 :(得分:0)
您可以使用以下正则表达式测试检查字符串是否仅包含大写字母:
/^[A-Z]+$/.test(value)
value
是要测试的字符串。
您还可以通过访问其length
属性并确保其等于3
来检查该字符串是否包含三个字符:
value.length == 3
如果isCurrency
是一个三个字母的单词,则下面的代码true
将返回value
。否则它将返回false
。
const isCurrency = (value) => (/^[A-Z]+$/.test(value) && value.length == 3)
console.log(isCurrency('EUR'))
console.log(isCurrency('E1UR'))
console.log(isCurrency('EuR'))