【问题标题】:Check if all substrings exist in main string using joi使用 joi 检查主字符串中是否存在所有子字符串
【发布时间】:2020-07-30 21:43:36
【问题描述】:

我正在尝试验证一个字符串是否包含在数组中定义的某些子字符串:

const subStringElems= ['ELEM1', 'ELEM2', 'ELEM3', 'ELEM4'];

这是数据验证器的代码:

const JoiValidator = require('@hapi/joi');

const subStringElems= ['ELEM1', 'ELEM2', 'ELEM3', 'ELEM4'];
let valSchema = {};

valSchema.manageDataParams = Joi.object().keys({
    stringToBeValidated: Joi.string().required(),
(...)

});

除了为此目的使用正则表达式之外,还有什么方法可以检查“stringToBeValidated”是否包含所有这 4 个元素?

【问题讨论】:

  • 这里的想法是相反的:“文本文本文本 ELEM1 文本文本文本文本文本文本 ELEM2 文本 ELEM4 文本文本文本文本文本文本 ELEM3 文本文本文本”并查看它是否包含所有这些元素,但使用 joi

标签: javascript regex joi


【解决方案1】:

为什么你不能只使用简单的 ES6 来做到这一点

const subStringElems = ['ELEM1', 'ELEM2', 'ELEM3', 'ELEM4'];

const myStringWithAllSubstrings = 'ELEM1_ELEM2_ELEM3_ELEM4'
const myStringWithMissingsubstrings = 'ELEM1_ELEM2';

const flag1 = subStringElems.every(x => myStringWithAllSubstrings.includes(x));
const flag2 = subStringElems.every(x => myStringWithMissingsubstrings.includes(x));

console.log('Result 1', flag1);
console.log('Result 2', flag2);

【讨论】:

  • 没错,但我们的想法是使用 joi 将所有内容集中在同一个地方,
猜你喜欢
  • 1970-01-01
  • 2021-11-16
  • 2018-08-07
  • 2011-07-30
  • 2021-05-19
  • 2012-09-28
  • 1970-01-01
  • 1970-01-01
  • 2013-04-29
相关资源
最近更新 更多