WdatePicker 无效日期或者超出范围

/*
 * My97 DatePicker 4.8 Beta4
 * License: http://www.my97.net/dp/license.asp
 */


    近期开发项目时用到了DatePicker 这个日历控件,首先不说这个控件的好坏,只谈遇到的问题和解决方案


其实遇到的问题主要是报错为:无效日期或者超出范围(翻译之后的)




<input type="text" name="rili" id="txtDate" οnclick="datePicker()" value="Sep 28, 2017">


<script type="text/javascript">
   function datePicker(){
       WdatePicker(
            {
                startDate: '%y-%M-%d',
                readOnly: true,
                isShowClear: false,
                doubleCalendar: true,
                minDate: '%y-%M-{%d}',
                lang: 'en-US',
                dateFmt:"MMM dd,yyyy",
            });
}
</script>


然后程序运行,点击input正常弹出日历,然后点击除日历界面的其它位置,立马报错
然后点击取消弹窗,点击日历里面的日期,重复操作一切OK了!!!
神马情况??


然后就是陷入苦不堪言的调试阶段了,说多了都是泪
再当我即将奔溃的时候,发现一个一个很有趣的地方,那就是导致报错的原因是因为,日期被默认为32了,一个月最多31天。。。。
好吧,终于有点眉目了,往上推发现在做日期正则的时候,格式匹配错误,值为null (因为没有买源码,所以都是在压缩代码下进行调试的)
将正则单独取出来 ("^ (\d\d?), (\d{4}).*$"),然后带入value值发现真的是没有匹配成功
进过尝试,发现改变正则里面的空格会匹配成功,好吧貌似看到春天了
然后我单独把正则和value值的空格ascii码打印出来发现 一个是32,一个是160   (感觉逆天了)


最简单的解决方案就是将Value里面的空格替换为160的空格了


问题:看代码发现正则里面的空格也是从Valuel里面获取的,为什么会变成160呢? 希望谁了解的能告知一下,万分感谢!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值