我正在编写一个将从CSV文件导入一些数据的脚本.当我这样做时,我希望能够检查变量以查看它是否是有效的日期字符串.
我已经看到了几种检查刺痛是否是日期的方法,但是大多数方法都需要你现在的格式.我不知道日期的格式.
现在我正在使用strtotime(),但这很容易
$field ="May";
if(strtotime($field)){
echo "This is a date";
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,"May"是人的名字,而不是日期.
任何人都可以推荐更可靠的功能吗?
根据你们中的一些人的问题进行编辑.
对于在我的情况下作为"日期"传递的变量,它需要特定于日/月/年,所以只是"May"将模糊计算.
基于此和Pauls的好点,我们也可以测试一下,看看字符串是否包含数字,例如
$field ="May";
if(strtotime($field) && 1 === preg_match('~[0-9]~', $field)){
echo "This is a date";
}else{
echo "Nope not a date";
}
Run Code Online (Sandbox Code Playgroud)
这似乎涵盖了我的直接需求,但任何人都可以发现任何问题或建议改进吗?
所以Firefox支持渐变背景.还支持多个背景图像..那么为什么这不起作用?
background:-moz-linear-gradient(top, #5989bd,#336296), url(Active-Arrow.png) right center no-repeat;
Run Code Online (Sandbox Code Playgroud)
还尝试过:
background-color:-moz-linear-gradient(top, #5989bd,#336296);
background:url(Active-Arrow.png) right center no-repeat;
Run Code Online (Sandbox Code Playgroud)
这可以吗?
我使用来自https://github.com/browserstate/history.js/的 History.js在Chrome和Safari中遇到了一个奇怪的问题
如果我点击几个不同的".node"项目,然后查看我的浏览器历史记录,我每次点击都有重复的条目,需要两次后退按钮才能返回上一个"真实"状态.我添加了一个console.log(id),可以确认该事件只触发一次.
在Firefox中它按预期工作.我只在Chrome和Safari中看到重复的历史记录项.
$( "body" ).delegate( ".node" , "click", function(){
id = $(this).data('id');
History.pushState({"Foo":"Bar","ID":id}, "Title for "+ id, "/item-"+id);
});
Run Code Online (Sandbox Code Playgroud)