在 json 模式中使用正则表达式来验证没有空格的字符串?
Posted
技术标签:
【中文标题】在 json 模式中使用正则表达式来验证没有空格的字符串?【英文标题】:use regex in json schema to validate a string for no spaces? 【发布时间】:2017-06-14 12:14:45 【问题描述】:我已经为 .json 文件验证编写了架构。我需要验证一个字符串没有空格。我发现我可以使用 "pattern": 和正则表达式,但它不起作用。 模式验证不起作用。
my json file
// @Validation(SchemaFile=config-schema.json)
"StoresList": [
"StoreId": "Store1",
"EntityIdList": [
"item1",
"item_2",
"item_3"
]
,
"StoreId": "Store2",
"EntityIdList": [
"item1",
"item_2",
"item_3"
]
]
schema file
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties":
"StoresList":
"type": "array",
"items":
"type": "object",
"properties":
"StoreId":
"type": "string"
,
"EntityIdList":
"type": "array",
"items":
"type": "string"
"pattern": "^\\s"
,
"required": [
"StoreId",
"EntityIdList"
]
,
"required": [
"StoresList"
]
【问题讨论】:
【参考方案1】:你可以试试这个:
^[^\s]*$
Explanation
在这里试试:
const regex = /^[^\s]*$/gm;
const str = `abzzc
I need to validate that a string is not having a whitespace.
abc
pqerweras dfsadfj`;
let m;
while ((m = regex.exec(str)) !== null)
if (m.index === regex.lastIndex)
regex.lastIndex++;
console.log(m[0]);
【讨论】:
【参考方案2】:这对我有用
"username":
"type": "string",
"pattern": "^[^\\s]*$",
【讨论】:
以上是关于在 json 模式中使用正则表达式来验证没有空格的字符串?的主要内容,如果未能解决你的问题,请参考以下文章