字节长度校验
/**
* 字节长度校验
* @param rule
* @param value
* @param callback
* @returns
*/
export function validLength32(rule: any, value: string, callback: any) {
function getStrLength(str: string) {
// 当数据库编码为一个汉字占3个字节时,把字符中的每个汉字都替换成'xxx'再得出长度
// console.log("符合双方==="+str.replace(/[^x00-xff]/g, 'xx').length)
return str.replace(/[^x00-xff]/g, 'xx').length
}
if (!value) {
callback()
} else if (getStrLength(value) <= 32) {
callback()
} else {
return callback(new Error('不能超过 ' + 32 + '个字节'))
}
}
使用
rules={[
{
required: true,
message: '请输入!',
},
{ validator: validLength32},
]}