string类型用于字符串,它当然也包含unicode字符。
{ "type": "string" } // a schema
"This is a string" // success
"中文" // success
"" // success
"42" // success
31.15 // failure
在使用string类型的时候,也可以使用minlength
、maxlength
属性来限制字符串的长度:
// a schema
{
"type": "string",
"minLength": 2,
"maxLength": 3
}
"A" // failure
"AB" // success
"ABC" // success
"ABCD" // failure
当然也可以使用pattern
属性用来检查是否匹配一个正则表达式。正则表达式的语法参见Ecma 262。
更多正则表达式的内容参见正则表达式这一章。
以下是一个验证手机号码的例子:
// a schema
{
"type": "string",
"pattern": "^(\+?86)?1(3|5|7|8)\D{9}$"
}
"13512341234" // success
"+8617012341234" // success
"010-12341234" // failure
format关键字能对一些常用的类型进行校验,当然这些值也可以使用正则表达式进行校验。
JSON Schema
能理解一些常用类型,当能不能理解的将会忽略。