微信公众号 iOS UITextFiled 用中文键盘输英文出现空格的解决方法

问题出现的现象:

最近公司开发微信公众号邀请码,需要对用户输入进行限制,允许输入的是字母和数字,其他输入会使用正则表达式禁止。但是有iOS用户反映在输入字母过程中,经常几个字母之后,邀请码不对,查看公司微信项目的日志,发现邀请码字母之间是?连接。假设用户输入的邀请码是AB1CFH,日志打印的是A B1C F H。找了好久原来是用户用英文,数字键盘是没问题的,但是用中文键盘输入英文字母就会出现上述现象。

1.刚开始以为是普通空格:过滤邀请码前中后空格         错误

2.看日志打印空格是?:过滤中文?和英文?            错误

问题的最终解决方法:

首先在js里对用户输入的邀请码进行加密:encodeURI($('#code').val())

然后在java端先对邀请码去除iOS自带空格:code = code.replaceAll("%E2%80%86", "");

然后再解码:code = URLDecoder.decode(code, "UTF-8");
最后去除普通空格:code = code.replaceAll("[\s,?]*", "");    终于大功告成了。。。。。。。。。。。。。。。。。。。。     







原文地址:https://www.cnblogs.com/zlw-xf/p/8423279.html