Ant Design Vue 添加区分中英文的长度校验功能


Posted in Javascript onJanuary 21, 2020

原本的maxLength属性是不区分全角/半角字符的,对于一些可中英文混合输入地方而言不太合适。所以想找一个可区分全角/半角字符的校验,而且要保证一定的可重用性。

百度搜了一圈都没找到合适的现成的解决方案,所以自己试着基于v-decorator的自定义校验validator实现了一下,核心代码如下:

校验插件

const validators = {
 /**
 * 可区分全角字符/半角字符的长度校验。
 * @param min
 * @param max
 * @returns {Function}
 */
 length({min=0,max=100000000}){
 return function(rule, value,callback){
  //将一个全角字符替换成两个半角字符,以得到真实长度。
  let realLength = value.replace(/[\u0391-\uFFE5]/g,'aa').length;
  realLength <= max && realLength >= min ? callback() : max<100000000 ? callback('输入长度应在'+min+'到'+max+'个字符之间!') : callback('至少应输入'+min+'个字符!');
 }
 }
}
const install = function(Vue, options) {
 Vue.prototype.validators = validators;
}
export default { install }

main.js 安装插件

Vue.use(validators)

添加校验

<a-form-item label="参数值" :labelCol="labelCol" :wrapperCol="wrapperCol">
   <a-input v-decorator="[ 'paraValue', validatorRules.paraValue]" placeholder="请输入参数值"></a-input>
</a-form-item>

validatorRules:{
  paraValue:{rules: [{validator:this.validators.length({max:50})}]}
  }

若是看不懂校验函数的写法,可先了解一下闭包与高阶函数的概念,这里就不多说啦。

总结

以上所述是小编给大家介绍的Ant Design Vue 添加区分中英文的长度校验功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
jquery 操作DOM的基本用法分享
Apr 05 Javascript
有关于JS构造函数的重载和工厂方法
Apr 07 Javascript
解析使用JS 清空File控件的路径值
Jul 08 Javascript
JavaScript操作Oracle数据库示例
Mar 06 Javascript
javascript对象的创建和访问
Mar 08 Javascript
微信小程序 Storage API实例详解
Oct 02 Javascript
Angular 4依赖注入学习教程之FactoryProvider配置依赖对象(五)
Jun 04 Javascript
JavaScript之排序函数_动力节点Java学院整理
Jun 30 Javascript
浅谈vue路径优化之resolve
Oct 13 Javascript
webpack4 入门最简单的例子介绍
Sep 05 Javascript
javascript面向对象程序设计实践常用知识点总结
Jul 29 Javascript
js实现视图和数据双向绑定的方法分析
Feb 05 Javascript
python虚拟环境 virtualenv的简单使用
Jan 21 #Javascript
详解vue中v-bind:style效果的自定义指令
Jan 21 #Javascript
vue.js iview打包上线后字体图标不显示解决办法
Jan 20 #Javascript
Angular单元测试之事件触发的实现
Jan 20 #Javascript
vue elementui 实现搜索栏公共组件封装的实例代码
Jan 20 #Javascript
D3.js 实现带伸缩时间轴拓扑图的示例代码
Jan 20 #Javascript
阿望教你用vue写扫雷小游戏
Jan 20 #Javascript
You might like
PHP通过iconv将字符串从GBK转换为UTF8字符集
2011/07/18 PHP
Laravel 5.3 学习笔记之 错误&amp;日志
2016/08/28 PHP
yii插入数据库防并发的简单代码
2017/05/27 PHP
mac pecl 安装php7.1扩展教程
2019/10/17 PHP
PHP数组与字符串互相转换实例
2020/05/05 PHP
Firefox下提示illegal character并出现乱码的原因
2010/03/25 Javascript
JS无限树状列表实现代码
2011/01/11 Javascript
如何用JavaScript动态呼叫函数(两种方式)
2013/05/03 Javascript
原生JS实现美图瀑布流布局赏析
2015/09/07 Javascript
JavaScript精炼之构造函数 Constructor及Constructor属性详解
2015/11/05 Javascript
JavaScript动态创建div等元素实例讲解
2016/01/06 Javascript
JavaScript图像延迟加载库Echo.js
2016/04/05 Javascript
JS字符串统计操作示例【遍历,截取,输出,计算】
2017/03/27 Javascript
vue结合element-ui使用示例
2019/01/24 Javascript
Javascript组合继承方法代码实例解析
2020/04/02 Javascript
python 垃圾收集机制的实例详解
2017/08/20 Python
Python语言实现百度语音识别API的使用实例
2017/12/13 Python
Python二进制串转换为通用字符串的方法
2018/07/23 Python
python scatter散点图用循环分类法加图例
2019/03/19 Python
python初学者,用python实现基本的学生管理系统(python3)代码实例
2019/04/10 Python
Django 查询数据库并返回页面的例子
2019/08/12 Python
对django layer弹窗组件的使用详解
2019/08/31 Python
HTML5调用手机摄像头拍照的实现思路及代码
2014/06/15 HTML / CSS
Canvas获取视频第一帧缩略图的实现
2020/11/11 HTML / CSS
《藏戏》教学反思
2014/02/11 职场文书
四群教育工作实施方案
2014/03/26 职场文书
医药公司采购员岗位职责
2014/09/12 职场文书
国防教育标语
2014/10/08 职场文书
承诺保证书格式
2015/02/28 职场文书
2015年党员公开承诺事项
2015/04/27 职场文书
趣味运动会口号
2015/12/24 职场文书
《黄山奇石》教学反思
2016/02/18 职场文书
市直属机关2016年主题党日活动总结
2016/04/05 职场文书
python如何做代码性能分析
2021/04/26 Python
golang 实现时间戳和时间的转化
2021/05/07 Golang
MySQL实现用逗号进行拼接、以逗号进行分割
2022/12/24 MySQL