输入长度限制,能不能参考一下通用做法啊 英文字符和中文一样长这样合适吗?直接计算字节数不好吗?

发布于 7 年前作者 mochao14768 次浏览最后编辑 7 年前来自 issues

https://developers.weixin.qq.com/miniprogram/dev/component/input.html

中英文表达同样意思的字符长度本来就有很大区别,能不能按照最简单的字节长度来计算啊?如果不愿意的话,起码也应该给两个不同的长度控制变量吧? 哎你们 拜托

3 回复
tangping
tangping1 楼6 年前

bindInputUserMsg: function(e) {

var countHanzi =0

var mixLengthNow=0

function replacer(match, offset, string) {

if (match.match(/[^\x00-\xff]/)) { countHanzi++ }

mixLengthNow = offset + countHanzi

if (mixLengthNow < 14) { return match } //在这里[控制]输入字符混合长度,中文字符算2个英文算1个,如七个汉字=14个英文 设置14

else { return '' }

//console.log("--Inside--", match, offset, string, countHanzi, mixLengthNow)

}

var value = e.detail.value.replace(/./g, replacer)

console.log("Input value: ", value, countHanzi)

// 返回去尾后的字符串,光标在最后

return value

},

gang49
gang492 楼6 年前

你说的是这个属性吗?

fanyan
fanyan3 楼5 年前

你可以在change事件里 自己做处理 没必要为一个脱节的需求 而改变符合大众的需求 这样不太现实