1.blob文件流,后端返回后前端如何处理。

      const getBlobUrlFromWindowsFile = async (data) => {let blobUrl = ''let res = await service.commonFileView({fileId: data.fileId || data.recId,})if (res?.success?.toString() == 'false') {message.error(res.message)} else {let blob = new Blob([res], { type: 'image/png' })blobUrl = window.URL.createObjectURL(blob)}return blobUrl}

2.validator

validator的vue下依赖包的输入框字符校验。在main.js文件或者每个可能用到的vue文件中单独引入该函数,调用函数下的方法。

使用antdv的自带校验。

    const rules = {remark: [{required: false,validator: (rule,value) => {let len = getByteLength(value)if (len > 400) {return Promise.reject("特批项目不能超过400字符")} else {return Promise.resolve()}},trigger: 'blur',}]}

使用validator组件校验

npm install validator

或者使用html内引入

<script type="text/javascript" src="validator.min.js"></script>

非 ES6
var validator = require('validator');
validator.isEmail('foo@bar.com'); //=> trueES6
import validator from 'validator';或者只导入库的一个子集:
import isEmail from 'validator/lib/isEmail';
方式一
//main.js
// 表单验证
import validator from 'validator';
Vue.prototype.$validator = validator;全局使用
this.$validator.isEthereumAddress("0xb9bD2F4Ea01DA3692d50259ABF8e6E21317dC517")方式二
在需要使用的vue页面中单独引入
import validator from 'validator';.vue文件局部使用
validator.isEthereumAddress("0xb9bD2F4Ea01DA3692d50259ABF8e6E21317dC517")
————————————————
版权声明:本文为CSDN博主「JackieDYH」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/JackieDYH/article/details/125161935

Validator

Description
contains(str, seed) 验证str中是否含有seed
equals(str, comparison) 验证是否相等
isAfter(str [, date]) 验证str是否是一个指定date之后的时间字符串,默认date为现在,与之相反的是isBefore方法
isAlpha(str [, locale]) 检查字符串是否只包含字母(a-Za-Z)。
Locale is one of ['ar','ar-AE', 'ar-BH', 'ar-DZ', 'ar-EG', 'ar-IQ', 'ar-JO', 'ar-KW', 'ar-LB','ar-LY', 'ar-MA', 'ar-QA', 'ar-QM', 'ar-SA', 'ar-SD', 'ar-SY', 'ar-TN','ar-YE', 'bg-BG', 'cs-CZ', 'da-DK', 'de-DE', 'el-GR', 'en-AU', 'en-GB','en-HK', 'en-IN', 'en-NZ', 'en-US', 'en-ZA', 'en-ZM', 'es-ES', 'fr-FR','fa-IR', 'he', 'hu-HU', 'it-IT', 'ku-IQ', 'nb-NO', 'nl-NL', 'nn-NO','pl-PL', 'pt-BR', 'pt-PT', 'ru-RU', 'sl-SI', 'sk-SK', 'sr-RS','sr-RS@latin', 'sv-SE', 'tr-TR', 'uk-UA']) and defaults to en-US. Locale list is validator.isAlphaLocales.
isAlphanumeric(str [, locale]) 检查字符串是否仅包含字母和数字。
Locale is one of ['ar',
'ar-AE', 'ar-BH', 'ar-DZ', 'ar-EG', 'ar-IQ', 'ar-JO', 'ar-KW', 'ar-LB',
'ar-LY', 'ar-MA', 'ar-QA', 'ar-QM', 'ar-SA', 'ar-SD', 'ar-SY', 'ar-TN',
'ar-YE', 'bg-BG', 'cs-CZ', 'da-DK', 'de-DE', 'el-GR', 'en-AU', 'en-GB',
'en-HK', 'en-IN', 'en-NZ', 'en-US', 'en-ZA', 'en-ZM', 'es-ES', 'fr-FR',
'fa-IR', 'he', 'hu-HU', 'it-IT', 'ku-IQ', 'nb-NO', 'nl-NL', 'nn-NO',
'pl-PL', 'pt-BR', 'pt-PT', 'ru-RU', 'sl-SI', 'sk-SK', 'sr-RS',
'sr-RS@latin', 'sv-SE', 'tr-TR', 'uk-UA']) and defaults to en-US. Locale list is validator.isAlphanumericLocales.

isAscii(str)

检查字符串是否仅包含ASCII字符。
isBase32(str) 检查字符串是否为base32 编码。
isBase64(str) 检查字符串是否为base64 编码。
isBefore(str [, date]) 检查字符串是否为指定日期之前的日期。
isBoolean(str) 检查字符串是否为布尔值。

isByteLength(str [, options])

检查字符串的长度(UTF-8字节)是否在某个范围内。

选项是一个默认为{最小:0,最大:未定义}的对象。

isCurrency(str [, options])

检查字符串是否为有效的货币金额。

选项是默认为{符号:

“$”,require\u symbol:false,allow\u space\u after\u symbol:false,

\u数字后的symbol\u:false,allow\u negatives:true,parens\u for\u negatives:

false,negative\u sign\u before\u digits:false,negative\u sign\u before\u digits:

false,allow\u negative\u sign\u占位符:false,千位分隔符:',',

十进制分隔符:',allow\u decimal:true,require\u decimal:false,

小数点后的数字:\u:[2],允许\u数字后有\u空格:false}。

注意:\u decimal后面的数组数字\u是用不允许的精确位数填充的,例如,范围1到3将被指定为[1,2,3]。

isEthereumAddress(str) 使用基本正则表达式检查字符串是否为以太坊地址。不验证地址校验和。

isBtcAddress(str)

检查字符串是否为有效的BTC地址。
isDataURI(str) 检查字符串是否为数据uri格式。
isDecimal(str [, options]) 检查字符串是否表示十进制数,例如0.1、。3, 1.1, 1.00003, 4.0,etc.options是一个对象,默认值为{force\u decimal:false,decimal\u digits:'1',locale:'en-US'}locale确定十进制分隔符,是[‘ar’、‘ar-AE’、‘ar BH’、‘ar DZ’、‘ar EG’、‘ar IQ’、‘ar JO’、‘ar KW’、‘ar LB’、‘ar-LY’、‘ar MA’、‘ar QA’、‘ar QM’、‘ar SA’、‘ar SD’、‘ar SY’、‘ar TN’、‘ar-YE’、‘bg bg’、‘cs CZ’、‘da DK’、‘de de’、‘en AU’、‘en GB’、‘en HK’、‘en IN’、‘en NZ’、‘en US’、‘en ZA’、‘en ZM’、‘es es es’、‘fr fr fr’、‘hu’、‘it-it’、‘ku IQ’“ru-ru”、“sl SI”、“sr RS”、“sr”-RS@latin“,”sv SE“,”tr tr“,”英国UA“]。注:十进制\u数字的范围为“1,3”,具体值为“3”,或最小值为“1”。
isDivisibleBy(str, number)     检查字符串是否是可被其他字符串整除的数字。

isEmail(str [, options])

检查字符串是否为电子邮件。

选项是一个默认为{

allow\u display\u name:false,require\u display\u name:false,

allow\u utf8\u local\u part:true,require\u tld:true,allow\u ip\u domain:false,

domain\u specific\u验证:false}。如果allow\u display\u name设置为true,验证器还将匹配显示名称<电子邮件地址>。如果require\u display\u name设置为true,验证程序将拒绝没有格式显示名称<电子邮件地址>的字符串。如果allow\u utf8\u local\u part设置为false,验证器将不允许在电子邮件地址的“local part”中使用任何非英语utf8字符。如果require\u tld设置为false,则也会匹配其域中没有tld的电子邮件地址。如果ignore\u max\u length设置为true,验证程序将不会检查电子邮件的标准最大长度。如果allow\u ip\u domain设置为true,验证程序将允许主机部分中的ip地址。如果domain\u specific\u validation为true,则会启用一些额外的验证,例如不允许GMail拒绝的某些语法有效的电子邮件地址。

isEmpty(str [, options])    

检查字符串的长度是否为零。

options是一个默认为{ignore\u whitespace:false}的对象。

isFloat(str [, options])    

检查字符串是否为浮点数。

选项是一个对象,它可以包含键min、max、gt和/或lt,以验证浮点是否在边界内(例如{min:7.22,max:9.55}),它还将区域设置作为选项。

min和max分别相当于“大于或等于”和“小于或等于”,而gt和lt是它们的严格对应项。

locale确定十进制分隔符,并且是['ar',“ar AE”、“ar BH”、“ar DZ”、“ar EG”、“ar IQ”、“ar JO”、“ar KW”、“ar LB”,“ar LY”、“ar MA”、“ar QA”、“ar QM”、“ar SA”、“ar SD”、“ar SY”、“ar TN”,“ar YE”、“bg bg”、“cs CZ”、“da DK”、“de de”、“en AU”、“en GB”、“en HK”,“en IN”、“en NZ”、“en US”、“en ZA”、“en ZM”、“es es es”、“fr fr”、“hu hu”,“it it”、“nb NO”、“nl nl”、“nn NO”、“pl pl”、“pt BR”、“pt pt”、“ru ru”,“sl SI”、“sr RS”、“sr”-RS@latin“,”sv SE“,”tr tr“,”英国UA“]之一。Locale list is validator.isFloatLocales。

isFQDN(str [, options])

检查字符串是否为完全限定的域名(例如domain.com)。

options是一个默认为{require\u tld:true,allow\u下划线:false,allow\u trailing\u dot:false}的对象。

isFullWidth(str)检查字符串是否包含任何全宽字符。

isHalfWidth(str)检查字符串是否包含任何半角字符。

isHash(str,algorithm)检查字符串是否是algorithm类型的哈希。

算法是['md4',“md5”、“sha1”、“SH256”、“SH384”、“SH512”、“ripemd128”、“ripemd160”,“tiger128”、“tiger160”、“tiger192”、“crc32”、“crc32b”]之一

isHexadecimal(str) 检查字符串是否为十六进制数。
isHexColor(str) 检查字符串是否为十六进制颜色。

isHSL(str)

检查字符串是否是基于CSS颜色级别4规范的HSL(色调、饱和度、亮度、可选alpha)颜色。

支持逗号分隔格式。支持空格分隔格式,但少数边缘情况除外(例如:hsl(200grad+.1%62%/1))。

isRgbColor(str, [, includePercentValues])

检查字符串是rgb还是rgba颜色。

includePercentValues默认为true。如果不希望允许使用百分比设置rgb或rgba值,如rgb(5%、5%、5%)或rgba(90%、90%、90%、90%、0.3),请将其设置为false。

isIdentityCard(str [, locale])

检查字符串是否为有效的身份证代码。

locale是['ES',zh TW',he IL',或“any”之一。如果使用了“any”,函数将检查是否有任何局部变量匹配。

默认为“any”。

isIn(str, values) 检查字符串是否位于允许值的数组中。
isInt(str [, options])

检查字符串是否为整数。

选项是一个对象,可以包含键min和/或max,以检查整数是否在边界内(例如{min:10,max:99})。选项还可以包含键allow\u leading\u zeroes,当设置为false时,将不允许使用前导零的整数值(例如{allow\u leading\u zeroes:false})。最后,选项可以包含键gt和/或lt,这将强制整数分别大于或小于提供的值(例如,对于介于1和4之间的数字,{gt:1,lt:4})。

isIP(str [, version])     检查字符串是否为IP(版本4或6)。
isIPRange(str)     检查字符串是否为IP范围(仅限版本4)。
isISBN(str [, version])     检查字符串是否为ISBN(版本10或13)。
isEAN(str)     检查字符串是否为EAN(欧洲商品编号)。
isISIN(str)     检查字符串是否为ISIN(股票/证券标识符)。
isISO31661Alpha2(str)     检查字符串是否为有效的ISO 3166-1 alpha-2官方指定的国家/地区代码。
isISO31661Alpha3(str)     检查字符串是否为有效的ISO 3166-1 alpha-3官方指定的国家/地区代码。
isISO8601(str)     检查字符串是否为有效的ISO 8601日期;对于有效日期的其他检查,如使日期(如2009-02-29)无效,请将options对象作为第二个参数传递给options。严格=真。

isISSN(str [, options])

检查字符串是否为ISSN。options是一个默认为{区分大小写:false,require\u连字符:false}的对象。如果区分大小写为true,则拒绝使用小写“x”作为校验位的ISSN。

isOctal(str)

检查字符串是否为有效的八进制数。
isUppercase(str)     检查字符串是否为大写。

isISRC(str)

检查字符串是否为ISRC。
isRFC3339(str)     检查字符串是否为有效的RFC 3339日期。
isJSON(str)     检查字符串是否为有效的JSON(注意:使用JSON.parse)。
isLatLong(str)

检查字符串是否是格式为lat,long或lat,long的有效经纬度坐标。

isLength(str [, options])    

检查字符串的长度是否在某个范围内。

选项是一个默认为{最小:0,最大:未定义}的对象。注意:此函数考虑代理项对。

isLocale(str)     检查字符串是否为区域设置

isLowercase(str)

检查字符串是否为小写。
isMACAddress(str)    

检查字符串是否为MAC地址。

选项是一个默认为{no\u colons:false}的对象。如果no\u冒号为true,验证程序将允许MAC地址不带冒号。此外,它还允许使用连字符、空格或点,例如“01 02 03 04 05 ab”、“01-02-03-04-05-ab”或“0102.0304.05ab”。

isMagnetURI(str)     检查字符串是否为magnet uri格式。
isMD5(str)    

检查字符串是否为MD5哈希。

请注意,您还可以使用isHash(str,'md5')函数。请记住,与其他算法(如SHA)相比,MD5有一些冲突弱点。

isMobilePhone(str [, locale [, options]])    

检查字符串是否为移动电话号码,

(locale是locale数组(例如['sk-sk','sr-RS')或['ar-AE'之一,

“ar BH”、“ar DZ”、“ar EG”、“ar IQ”、“ar JO”、“ar KW”、“ar SA”、“ar SY”,

“ar TN”、“be BY”、“bg bg”、“bn BD”、“cs CZ”、“de de”、“de AT”、“da DK”,“el GR”、“en AU”、“en CA”、“en GB”、“en GG”、“en GH”、“en HK”、“en MO”,‘en-IE’、‘en-IN’、‘en-KE’、‘en-MT’、‘en-MU’、‘en-NG’、‘en-NZ’、‘en-RW’,“en SG”、“en UG”、“en US”、“en TZ”、“en ZA”、“en ZM”、“en PK”、“es EC”,“es es”、“es MX”、“es PA”、“es PY”、“es UY”、“et EE”、“fa IR”、“fi fi”,“fj fj”、“fr fr”、“fr GF”、“fr GP”、“fr MQ”、“fr RE”、“he IL”、“hu hu”,“id id”、“it it”、“ja JP”、“kk KZ”、“ko KR”、“lt lt”、“ms MY”、“nb NO”,“ne NP”、“nl BE”、“nl nl”、“nn NO”、“pl pl”、“pt pt”、“pt BR”、“ro ro”,“ru ru”、“sl SI”、“sk sk”、“sr RS”、“sv SE”、“th th”、“tr tr”、“uk UA”,

“vi VN”、“zh CN”、“zh HK”、“zh MO”、“zh TW”]或默认为“any”。如果使用了“any”或假值,函数将检查任何区域设置是否匹配)。

options是一个可选对象,可以使用以下键提供:strictMode,如果设置为true,则必须为手机号码提供国家/地区代码,因此必须以+开头。Locale list is validator.isMobilePhoneLocales。

isMongoId(str) 检查字符串是否是MongoDB ObjectId的有效十六进制编码表示形式。
isMultibyte(str) 检查字符串是否包含一个或多个多字节字符。isNumeric(str[,options])检查字符串是否只包含数字。选项是一个默认为{no\u symbols:false}的对象。如果no\u symbols为true,验证程序将拒绝包含符号(例如+、-、或)的数字字符串。

isPassportNumber(str, countryCode)

检查字符串是否是相对于特定国家/地区代码的有效护照号码。
isPort(str) 检查字符串是否为有效的端口号。
isPostalCode(str, locale)

检查字符串是否为邮政编码,

(语言环境是[

“AD”、“AT”、“AU”、“BE”、“BG”、“BR”、“CA”、“CH”、“CZ”、“DE”、“DK”、“DZ”,“EE”、“ES”、“FI”、“FR”、“GB”、“GR”、“HR”、“HU”、“ID”、“IE”、“IL”、“IN”,“IR”、“IS”、“IT”、“JP”、“KE”、“LI”、“LT”、“LU”、“LV”、“MT”、“MX”、“NL”,“否”、“NZ”、“PL”、“PR”、“PT”、“RO”、“RU”、“SA”、“SE”、“SI”、“TN”、“TW”,“UA”、“US”、“ZA”、“ZM”或“any”。如果使用了“any”,函数将检查是否有任何局部变量匹配。Locale list is validator.isPostalCodeLocales。)。

isSurrogatePair(str) 检查字符串是否包含任何代理项对字符。
isURL(str [, options])

检查字符串是否为URL。

选项是一个默认为{

协议:['http','https','ftp',require\u tld:true,require\u协议:

false,require\u host:true,require\u valid\u protocol:true,

allow\u下划线:false,host\u白名单:false,host\u黑名单:false,

allow\u trailing\u dot:false,allow\u protocol\u relative\u url:false,

不允许\u auth:false}。

require\u protocol–如果设置为true,则如果URL中不存在协议,则isURL将返回false。

require\u valid\u protocol–isURL将检查协议选项中是否存在URL的协议。

协议–可以使用此选项修改有效的协议。

require\u host–如果设置为false,isURL将不会检查URL中是否存在主机。

allow\u protocol\u relative\u URL–如果设置为true,则允许使用协议相对URL。

isUUID(str [, version]) 检查字符串是否为UUID(版本3、4或5)。
isWhitelisted(str, chars)

检查字符是否出现在白名单中。

匹配(str,pattern[,modifiers])检查字符串是否与模式匹配。

匹配('foo',/foo/i)或匹配('foo',foo',i')。

isJWT(str) 检查字符串是否为有效的JWT标记。
isVariableWidth(str)    

检查字符串是否包含全宽和半宽字符的混合。

isSemVer(str)     检查字符串是否为语义版本控制规范(SemVer)。
isCreditCard(str)     检查字符串是否为信用卡。
isIBAN(str)     检查字符串是否为IBAN(国际银行帐号)。
isBIC(str)     检查字符串是BIC(银行识别码)还是SWIFT代码。
isMimeType(str)     检查字符串是否与有效的MIME类型格式匹配

以上转载自 CSDN博主「JackieDYH」的原创文章,遵循CC 4.0 BY-SA版权协议
原文链接:https://blog.csdn.net/JackieDYH/article/details/125161935

添加部分翻译内容,翻译来自【百度翻译】

3.字符串的长度校验

当遇到需要校验长度时,中文、全角等为两个字符,英文、数字等为一个字符,具体定义在Ascii码上,由此判断可以用ascii码的值。常用在utils.js文件中当做公共的方法。

function getByteLength(str) {let l = 0for(var i = 0; i < str.length; i ++) {if(str.charCodeAt(i) > 255) {l += 2}else {l++}}return l
}

前端向--BLOB文件处理及常用输入校验相关推荐

  1. iOS开发常用输入校验

    1.数字字符校验 #define NUMBERSPERIOD @"0123456789." - (BOOL)CheckInput:(NSString *)string { NSCh ...

  2. 前端接收bolb格式下载文件,前端下载blob格式的文件

    最近遇到一个下载文件的需求,不是请求后端接口直接下载文件,而是后端返回blob格式的文件,前端自行下载文件 下面的具体的操作代码 1.修改request请求(请求是封装好的axios方法),增加响应参 ...

  3. c语言如何持续输入字符直到指定字符结束_《小白学C》第三章 常用输入输出函数...

    第三章 常用输入/输出函数 与其他高级语言一样, C语言的语句是用来向计算机系统发出操作指令的. 当我们提到输入时,这意味着要向程序填充一些数据.输入可以是以文件的形式或从命令行中进行.C 语言提供了 ...

  4. 前端各种类型文件的转换

    最近接到一个微信公众好的开发需求,拍照识别二维码并上传,踩了不少坑.有需要的小伙伴可以看看.还附有各种文件转化的方法,可以马克一下. 欢迎和我一起探讨交流~ file文件的拷贝和改名 // 复制文本域 ...

  5. linux重定向进程输出到文件删除,Linux文件编辑器vim输出输入重定向、管道以及进程(示例代码)...

    合抱之木,生于毫末:九层之台,起于累土:千里之行,始于足下.正因基础的重要性,才又撸起了linux. linux编辑工具: VI VIM EMACS vim 是vi的升级版本,它不仅兼容vi的所有指令 ...

  6. 屏幕输出语句_第三章 常用输入/输出函数

    第三章 常用输入/输出函数 与其他高级语言一样, C语言的语句是用来向计算机系统发出操作指令的. 当我们提到输入时,这意味着要向程序填充一些数据.输入可以是以文件的形式或从命令行中进行.C 语言提供了 ...

  7. php键盘输入函数,php的常用输入语句以及常用函数

    这篇文章主要介绍了关于php的常用输入语句以及常用函数,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 一. echo语句 echo做php的人在熟悉不过了,在php文件中我们用他来输出 ...

  8. vue验证整数_前端Vue中常用rules校验规则

    前端Vue中常用rules校验规则 1.是否合法IP地址 export function validateIP(rule, value,callback) {if(value==''||value== ...

  9. C++ 对文件的最常用基操之对 ASCII 文件(文本文件、字符文件)的操作

    C++ 对文件的最常用操作 ☆ 基本概念 根据文件中数据的组织方式,可以将文件分为 ASCII 文件 和 二进制文件. 前者又称为文本文件或字符文件,后者又称为内部格式文件或字节文件. 本文讲解针对 ...

最新文章

  1. BZOJ 2038: [2009国家集训队]小Z的袜子(hose)【莫队算法裸题学习笔记】
  2. 关于正则表达式,我所知道的都在这里
  3. 谈谈Memcached与Redis
  4. 【往届成功检索】ICAITA2020国际学术会议来袭,诚邀参与!
  5. 将字符串转换为全角或半角
  6. lua 去除小数点有效数字后面的0_【物联网学习番外篇】Lua脚本编程扫盲
  7. H5页面,华为手机打开不加载JS的问题
  8. java银行叫号_银行排队叫号系统
  9. PS之人物中性灰磨皮(处理人脸部光影)
  10. labuladong算法小结
  11. word复制某一页并插入到新页
  12. java面试知识点总结
  13. Windows 10 的触摸板手势
  14. IFD-x 微型红外成像仪(模块)的温度测量和成像精度
  15. 程序员学习指南_程序员管理压力指南
  16. 【安全防御】IPsec VPN
  17. Java条形码生成-Barcode4j
  18. PLS-00907: cannot load library unit
  19. 30分钟快速搭建一套私有云平台
  20. 从360大战QQ看未来云计算和云存储

热门文章

  1. 11款免费的Web安全测试工具
  2. Excel 数据导入
  3. 回顾2017:谈谈过去一年的成长
  4. Flash 实验 遮罩层
  5. THINKPHP5获取当前页面URL信息
  6. 成立了一个软件工作室,但是如何才能接到项目呢?
  7. 涉密计算机系统分级保护,计算机信息系统分级保护方案.pdf
  8. 自学笔记:89c51单片机最小系统Protues篇
  9. Anroid Wear OS 手表应用开发 - 微光模式 AmbientMode
  10. 屏幕适配,彻底理解dp,dpi,屏幕密度,分辨率之间的爱恨纠葛