Bug:EditBox输入限制对“+”和“.”符号没限制

  • Creator 版本:2.0.1

  • 目标平台: all?

  • 详细报错信息,包含调用堆栈:使用EditBox输入“.”或者“+”,EditBox的长度限制对其没影响,简单测试了几种输入方式(numerical,phone,decimal…)都有这种错误;如果设定长度限制为6,那么先输入6个“.”或者“+”,就可以突破长度限制;例子:正常只能输入“123456”,错误输入:”…“,"…123456789","+++++++++++"等等;

  • 重现方式:

  • 之前哪个版本是正常的 :没试过

  • 手机型号 :

  • 手机浏览器 :

  • 编辑器操作系统 :window

  • 编辑器之前是否有其它报错 :没有

  • 出现概率:100%

  • 额外线索:

了解我验证下,这个应该是字符长度计算出了问题

2.0.2上这个问题应该是解决了,你升级上去试试。

2.0.8的版本 还是有这个问题 + - 输入进去 把string打印出来是“”,界面还是显示±

2.0.7版本仍舊有這個問題

我验证下

按你的复现信息测试无法复现你的问题,请问是否提供一个demo给我?

沒有特別的復現方法,隨便加一個editbox,限制輸入長度10,輸入“++12345678901234657890”,應該就可以發現問題了。

目前这个功能确实存在问题,建议用户自己先对editbox组件添加监听事件解决问题。
这个问题在2.1.2版本已经修复。
https://forum.cocos.com/t/cocos-creator-v2-1-2-06-11-alpha-2/79255/3

刚刚测试2.1.2版本editBox,问题仍然存在,还多了对于数字的输入,maxLength设置无效的新问题。
https://forum.cocos.com/t/2-0-10-2-1-2-editbox-maxlength/83049/4?u=makkl2013online

这应该是个bug,当时我也研究了小半天,发现把EditBoxd的子节点置空就可以了!this.node.getChildByName(“PLACEHOLDER_LABEL”).getComponent(cc.Label).string = ‘’;

请教一下,我这个editBox下面的placeholder_label初始值就是空的。需要什么时候设置string=""?

我有些许明白了,inputMode=phone_number下,输入数学标点符号,例如-+e这些就会有MaxLength无效的问题(连续输入2个++,–,ee,再输入数字),至于e/E为什么也可以,是因为e/E代表数学的exponential(计算机上面的EXP)。这些符号通过this.editbox.string还无法获取(在edit change event里面试)。