initData(){
this.phoneEditer.node.on(“text-changed”, this.onPhoneChanged, this);
}
private onPhoneChanged(editBox: cc.EditBox) {
let str = editBox.string;
str = str.replace(/[^0-9]/g, “”);
if (str.startsWith(“0”)) {
editBox.maxLength = 11;
if (str.length > 11) {
str = str.substring(0, 11);
}
} else {
editBox.maxLength = 10;
if (str.length > 10) {
str = str.substring(0, 10);
}
}
if (editBox.string !== str) {
editBox.string = str;
}
}
我使用2.4.15的editbox限制手机号长度,在输入首字符为0的时候限制11位,不为0的时候限制10位
在首字符不为0时选择完成输入(比如 123 结束),第二次点击选中时将所有字符全部删除,并输入01234567890这样类似的11位数时,打印出来的maxLength是11 但是只能显示到0123456789 这10位,但是我看在2.4.9中这种写法是生效的