检查当前字段值是否为欧元、美元。。。使用javascript

检查当前字段值是否为欧元、美元。。。使用javascript,javascript,Javascript,我想用regexp检查收到的字段值是一个字符串,其中包含3个字符,表示如下货币: EUR USD JPY RUB . . 我有这个功能来检查它是否只是一个数字 const onlyInteger = (oldValue, value) => { oldValue = ''; if (value && String(value).trim().match(/^[+-]?\d+$/i)) { return value; } return oldValu

我想用regexp检查收到的字段值是一个字符串,其中包含3个字符,表示如下货币:

EUR
USD
JPY
RUB
.
.
我有这个功能来检查它是否只是一个数字

const onlyInteger = (oldValue, value) => {
  oldValue = '';
  if (value && String(value).trim().match(/^[+-]?\d+$/i)) {
    return value;
  }
  return oldValue;
}

类似于此函数的功能,用于检查用户最多写入三个字符。

要验证字符串是否为货币:

str.match(/^(EUR|USD|JPY|RUB)$/)
要验证是否有(任何)3个大写字母:

str.match(/^[A-Z]{3}$/)

通过以下正则表达式测试,可以检查字符串是否仅包含大写字母:

/^[A-Z]+$/.test(value)
其中,
value
是要测试的字符串

您还可以通过访问字符串的
length
属性并确保其等于
3
来检查字符串是否包含三个字符:

value.length == 3

在下面的代码中,如果
value
是三个字母的单词,则
isCurrency
将返回
true
。否则它将返回
false

const isCurrency=(value)=>(/^[A-Z]+$/.test(value)和&value.length==3)
console.log(isCurrency('EUR'))
console.log(isCurrency('E1UR'))

console.log(isCurrency('EuR'))
什么是
oldValue
value
?oldValue只是一个例子,但oldValue不存在!非常感谢。你什么意思
oldValue
value
都是函数的参数,它们应该是什么?它们是字段的当前值。用户正在写入,并且这些是当前字段的值已编辑,忘记函数。非常感谢。谢谢,但我不需要这份清单。我只需要知道它们是三个字符,它们是大写的。非常感谢。