%E2%80%8E Zero-Width Space

本文介绍了在处理JS生成当前时间提交到后台时遇到的Zero-Width Space问题,该字符无法肉眼察觉,导致字符串长度异常。提出了两种解决办法:替换%E2%80%8E或者调整JS代码生成日期格式。
摘要由CSDN通过智能技术生成

今天要处理一个js生成当前时间提交到后台保存。

js code

var myDate = new Date();
callInDateTime=myDate.toLocaleString( );        //获取日期与时间</span>

 后台C# code 

DateTime dt = Convert.ToDateTime(Request["callInDateTime"]);

谷歌、IE11以下都是可以的,唯独IE10报出异常:未识别有效的datetime

传过来的时间“‎2016‎年‎4‎月‎12‎日‎ ‎13‎:‎42:59”,怎么看都没有问题。

后来查看字符串长度为31,明明没有这么长,url编码后发现多了“%E2%80%8E”,

原来这个东西叫Zero-Width Space,肉眼根本发现不了。


解决方法:

1,替换%E2%80%8E,再进行转换处理

2,js这样写:   
       callInDateTime=myDate.getFullYear()+'年'+(myDate.getMonth()+1)+'月'+myDate.getDate()+"日 "+ myDate.getHours()+':'+myDate.getMinutes()+':'+myDate.getSeconds();


参考:

解决URL出现%E2%80%8E(Zero-Width Space)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值