首先看看判断字符串长度的几种方法(英文占1个字符,中文汉字占2个字符)

方法一:

function strlen(str) {

var len = 0;

for (var i = 0; i < str.length; i++) {

var c = str.charCodeAt(i);

//单字节加1

if ((c >= 0x0001 && c <= 0x007e) || (0xff60 <= c && c <= 0xff9f)) {

len++;

} else {

len += 2;

}

}

return len;

}

// strlen('adcd') //4

// strlen('adcd哈') //6

方法二:

function GetLength(str) {

var realLength = 0,

len = str.length,

charCode = -1;

for (var i = 0; i < len; i++) {

charCode = str.charCodeAt(i);

if (charCode >= 0 && charCode <= 128) realLength += 1;

else realLength += 2;

}

return realLength;

}

// GetLength('1234a') //5

// GetLength('我是谁') //6

方法三:

function GetLength(str) {

var l = str.length;

var blen = 0;

for (i = 0; i < l; i++) {

if ((str.charCodeAt(i) & 0xff00) != 0) {

blen++;

}

blen++;

}

return blen;

}

// GetLength('1234a') //5

// GetLength('我是谁') //6

上面三种方法都能返回字符串的长度,结合element的自带表单验证功能,就能做出好看又好用的验证啦。下面是使用element自定义验证实现提示输入要求的案列:

在线生成

export default {

data() {

//这里就是整个checkName啦,就是方法一的使用

var checkName = (rule, value, callback) => {

var len = 0;

for (var i=0; i

var c = value.charCodeAt(i);

//单字节加1

if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) {

len++;

} else {

len+=2;

}

};

if ((len < 4 && len> 0) || len > 30) {

//重点重点,下面就是填写提示的文字

callback(new Error('名称长度为4-30个字符,一个中文字等于2个字符。'));

} else {

callback();

}

};

return {

form: {

projectname: '',

},

rules: {

projectname: [

//validator是自定义校验固定写法,我们只需填他的值(checkName)就好了, callback 必须被调用。

{validator: checkName,trigger: 'blur' }

]

},

};

},

methods: {

//为了容易理解我就没写多余的方法,通过trigger: 'blur'使得输入框失去焦点就触发事件,也就看得到效果了

}

}

说了这么多,来看看效果吧:

******这是3个字符的,不合条件******

******这是4个字符的,符合条件******

******这是3个字符的,不符合条件******

JS判断字符串长度的5个方法

这篇文章主要介绍了JS判断字符串长度的5个方法,并且区分中文和英文,需要的朋友可以参考下 目的:计算字符串长度(英文占1个字符,中文汉字占2个字符)   方法一:    代码如下: String.pr ...

JS判断字符串长度(中文长度为2,英文长度为1)

目的:计算字符串长度(英文占1个字符,中文汉字占2个字符) 方法一: String.prototype.gblen = function() { var len = 0; for (var i=0; ...

JS判断字符串长度的5个方法(区分中文和英文)

目的:计算字符串长度(英文占1个字符,中文汉字占2个字符) 方法一: 代码如下: String.prototype.gblen = function() {    var len = 0;    fo ...

JS判断字符串长度(英文占1个字符,中文汉字占2个字符)

//计算字符串长度(英文占1个字符,中文汉字占2个字符) 方法一: String.prototype.gblen = function() { var len = 0; for (var i=0; i ...

JS组件系列——Form表单验证神器: BootstrapValidator

前言:做Web开发的我们,表单验证是再常见不过的需求了.友好的错误提示能增加用户体验.博主搜索bootstrap表单验证,搜到的结果大部分都是文中的主题:bootstrapvalidator.今天就来 ...

js——form表单验证

用js实现一个简易的表单验证 效果: 代码:

js校验form表单

html5 填表 表单 input output 与表单验证

1.     Js计算结果

html表单判断字符数,JS判断字符串长度,结合element el-input el-form 表单验证(英文占1个字符,中文汉字占2个字符)...相关推荐

  1. java 英文字符 字节_3、在JAVA语言中,每个英文字符占 个字节,每个中文汉字占( )个字节。...

    [判断题]中心原子中的几个原子轨道杂化时,必形成数目相同的杂化轨道. [单选题]集合 用区间表示正确的是 ( ) [单选题]15.Java语言的类间的继承关系是 [单选题]8.编译Java Appli ...

  2. 英文、数字和汉字、日文的字符判断 英文占1个字符,中文汉字占2个字符 el-form表单验证规则

    需求:输入框输入如果是中文或者日文,表单验证长度需要除以2,如果是英文或者数字,则正常 需求奇葩,还要国际化可烦死我了,菜鸟又不敢跟产品顶嘴,哭了 捣鼓捣鼓总算好了,对字符限制做了一个封装 1.第一步 ...

  3. JS判断字符串长度(英文占1个字符,中文汉字占2个字符)

    //计算字符串长度(英文占1个字符,中文汉字占2个字符) 方法一: String.prototype.gblen = function() { var len = 0; for (var i=0; i ...

  4. js根据判断改变html字符串长度,JS获取字符串长度(包含汉字)的简单示例

    这篇文章主要为大家详细介绍了JS获取字符串长度(包含汉字)的简单示例,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编罗X来看看吧. 方法一: /** * * @p ...

  5. js替换字符串某个字符,js修改字符串中指定字符

    平时用到elementui时,经常遇到多级树形结构,但是后端往往给前端反的每一级字段不一致,如果写个遍历循环将其改为一致麻烦的,不如直接将后台发的数组转为字符串,再将字符串中不一致的字段替换成一致的即 ...

  6. mysql里一个中文汉字占多少字节数?

    在mysql中,如果是latin1字符集下,一个中文汉字占2个字节数:如果是utf8字符集下,一个中文汉字占3个字节数:如果是gbk字符集下,一个中文汉字占2个字节数. mysql各字符集下汉字和字母 ...

  7. mysql 中文 3个字节_mysql里一个中文汉字占多少字节数?

    在mysql中,如果是latin1字符集下,一个中文汉字占2个字节数:如果是utf8字符集下,一个中文汉字占3个字节数:如果是gbk字符集下,一个中文汉字占2个字节数. (推荐教程:mysql视频教程 ...

  8. mysql 一个中文占多少字节数_mysql里一个中文汉字占多少字节数?

    在mysql中,如果是latin1字符集下,一个中文汉字占2个字节数:如果是utf8字符集下,一个中文汉字占3个字节数:如果是gbk字符集下,一个中文汉字占2个字节数. (推荐教程:mysql视频教程 ...

  9. 提交Form表单,submit之前做js判断处理

    效果: 在点击提交按钮时,首先进行js判断, 如果不符合条件,则alert出提示信息,并return false. 主要点就在于给form表单添加一个onsubmit事件. 在onsubmit事件中定 ...

最新文章

  1. R语言常用线性模型特征筛选(feature selection)技术实战:基于前列腺特异性抗原(PSA)数据
  2. linux怎么和宿主机同步时间,Linux 中设置和同步时间
  3. CentOS安全配置(转)
  4. c语言随机迷宫生成方法,[原创]递归随机迷宫生成算法详解
  5. Java学习需要掌握哪些技能?
  6. Bootstrap源码解读之栅格化篇
  7. oracle定时关闭job,Oracle job定时操作
  8. Navicat 连接Oracle时提示oracle library is not loaded的问题解决
  9. java 时间转为毫秒数_疫情期间面试总结一(java基础方面)
  10. Python入门到精通三天速成第二讲——类与继承
  11. html中div居中
  12. 一位全加器的设计与仿真
  13. 嵌入式和单片机的区别是什么
  14. 新版仿山楂岛留言PHP源码+短视频/公众号吸粉引流
  15. 虚拟服务器忘记密码,win7系统下VMware虚拟机忘记开机密码的解决方法
  16. 厦门大学353卫生综合考研参考书目
  17. java手机充值_话费充值示例代码
  18. 嘉应大学黄林鑫计算机学院,林鑫-中国科学院大学-UCAS
  19. java.lang.IllegalArgumentException: Scrapped or attached views may not be recycled.
  20. 如何将Excel中的表格直接转成LaTex格式?

热门文章

  1. 刷OPENWRT后悔了,刷回原厂固件教程
  2. Eighth C++基础之C++与C语言的区别及细节
  3. torque脚本编程
  4. Python求数据集的四分位点
  5. Kean专题:内容JIG(拖拽)
  6. SEO查询工具你只知道5118吗?这个工具包值得收藏
  7. 什么是开源协议?开源协议的作用?常用的三种开源协议
  8. Flexnet_Licesing_Service 服务修复安装文件
  9. Java——类变量和实例变量的区别
  10. 蓝牙遥控器 – 将手机模拟为键盘、鼠标、翻页笔、遥控器