If that Y-force is at 0
To address this point made my hpdvs2, you cannot simply check to see if the force is at 0 since the force would also be at 0 at the peak of the jump, this would make it possible to jump again while at the top of your jump an infinite number of times.
PyroDragn is right, of course. Another case is obviously when you collide with something above you, your y-vel will be 0, so you could stick to the ceiling if you're quick enough on the jump key.
Not sure if this applies exactly to your game, but I am too working on a 2d platformer, and the way I handled jumping was to grab my collision shapes, move them slightly downwards, check if they collided, and if they did, perform the jump.
Of course after I check if the shapes collided, I restore all the original parameters of my player - both in position, and collision info (in my case the collision flag and a normal vector)
On a side-note, this also works with wall jumping, by attempting to move the player slightly left/right and checking if he's collided. And as I said, as an added bonus, you also obtain a normal vector with this method, so you can jump based on that.