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 相关文章推荐
滚动经典最新话题[prototype框架]下编写
Oct 03 Javascript
javascript实现的基于金山词霸网络翻译的代码
Jan 15 Javascript
jquery validate poshytip 自定义样式
Nov 26 Javascript
javascript抖动元素的小例子
Oct 28 Javascript
jquery实现的图片点击滚动效果
Apr 29 Javascript
js实现鼠标划过给div加透明度的方法
May 25 Javascript
JavaScript判断按钮被点击的方法
Dec 13 Javascript
浅谈JavaScript中的分支结构
Jul 01 Javascript
原生JS实现的自动轮播图功能详解
Dec 28 Javascript
JavaScript函数式编程(Functional Programming)组合函数(Composition)用法分析
May 22 Javascript
Layui实现主窗口和Iframe层参数传递
Nov 14 Javascript
八种Vue组件间通讯方式合集(推荐)
Aug 18 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
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
2007/04/12 PHP
生成ubuntu自动切换壁纸xml文件的php代码
2010/07/17 PHP
由php的call_user_func传reference引发的思考
2010/07/23 PHP
更改localhost为其他名字的方法
2014/02/10 PHP
php实现批量压缩图片文件大小的脚本
2014/07/04 PHP
深入浅出php socket编程
2015/05/13 PHP
Javascript 检测键盘按键信息及键码值对应介绍
2013/01/03 Javascript
js检测输入内容全为空格的方法
2014/05/03 Javascript
vue.js实现仿原生ios时间选择组件实例代码
2016/12/21 Javascript
3种vue路由传参的基本模式
2018/02/22 Javascript
vue项目base64字符串转图片的实现代码
2018/07/13 Javascript
tracking.js页面人脸识别插件使用方法
2020/04/16 Javascript
写gulp遇到的ES6问题详解
2018/12/03 Javascript
微信小程序中如何使用flyio封装网络请求
2019/07/03 Javascript
ES11新增的这9个新特性,你都掌握了吗
2020/10/15 Javascript
处理Python中的URLError异常的方法
2015/04/30 Python
Python中Random和Math模块学习笔记
2015/05/18 Python
python3+mysql查询数据并通过邮件群发excel附件
2018/02/24 Python
python实现求解列表中元素的排列和组合问题
2018/03/15 Python
python 按照固定长度分割字符串的方法小结
2018/04/30 Python
Python实现账号密码输错三次即锁定功能简单示例
2019/03/29 Python
python实现LBP方法提取图像纹理特征实现分类的步骤
2019/07/11 Python
使用pyinstaller逆向.pyc文件
2019/12/20 Python
Python字符串格式化f-string多种功能实现
2020/05/07 Python
python实现银行账户系统
2021/02/22 Python
关于iframe跨域使用postMessage的实现
2019/10/29 HTML / CSS
RIP版本1跟版本2的区别
2013/12/30 面试题
饭店工作计划书
2014/01/10 职场文书
面包店的创业计划书范文
2014/01/16 职场文书
寄语是什么意思
2014/04/10 职场文书
干部作风建设心得体会
2014/10/22 职场文书
2014保险公司内勤工作总结
2014/12/16 职场文书
毕业论文答辩开场白和结束语
2015/05/27 职场文书
收入证明范本
2015/06/12 职场文书
大学生团支书竞选稿
2015/11/21 职场文书
JavaCV实现照片马赛克效果
2022/01/22 Java/Android