gpt4 book ai didi

javascript - jQuery 验证器方法在移动设备上的工作方式不同

转载 作者:行者123 更新时间:2023-11-28 02:30:59 25 4
gpt4 key购买 nike

阅读底部的编辑 2
原帖:

我有这个 jQuery 验证器方法来检查有效的 YYYY-MM-DD 日期:

$.validator.addMethod("myDate", function(value, element){

var validformat = /^\d\d\d\d\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])$/;
return validformat.test(value);

}, "Please enter a valid YYYY-MM-DD date");

它在我的计算机上运行良好 - 在预期时返回 false,在预期时返回 true。然而,在我的 Android 手机上,它总是返回 false - 输入总是显示“请输入有效的 YYYY-MM-DD 日期”,即使日期有效。

诸如.test()之类的任何正则表达式方法在Android(可能还有其他手机)上的工作方式是否有所不同,或者这是一个jQuery Validator错误?


编辑:我尝试将 validformat.test(value) 更改为 value.match(validformat) ,结果相同 - 适用于计算机,不适用于手机。


编辑2:好吧,即使注释掉方法内的其他所有内容并输入return true;仍然会在我的手机上产生错误。绝对是 jQuery 验证器问题。但需要一个解决方法!

最佳答案

我刚刚检查了一部 Android 2.3 手机。它运行完美。

因此,我将其归咎于 Android 2.2。所以这是我的小修正:

$("#myform").validate({
...
<?php
//only print out the rule into the JS if it's not Android 2.2
if(!strpos($_SERVER['HTTP_USER_AGENT'], "Android 2.2"))
print "myDate: true, \n";
?>

烦人的黑客:)

关于javascript - jQuery 验证器方法在移动设备上的工作方式不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14165859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com