A few months ago, my iPhone 4’s original battery couldn’t last more than a day. I bought a 3rd party battery to replace the original one. To my dismay, the replacement battery only lasted a bit longer than the old battery. I contacted the seller of the new battery. They agreed to send a new battery at no extra charge. The new battery they sent was still no good. So, I tried a different vendor and bought a more expensive battery. The battery life of this newest battery was only slightly better than the previous two replacement batteries. It never occurred to me that the problem was not with the battery.
Just a few weeks ago, I restored my iPhone due to other problems I encountered. I noticed the increased battery life right after I restored my iPhone. The battery life had gone from less than a day to two and a half days! I think part of the reason for the improved battery life was due to less applications installed on my iPhone. When I restored it, all the purchased apps had to be re-installed. I only installed a handful of applications that I used more often. I had quite a few applications previously installed that had processes running in the background even when the apps themselves weren’t running. They quickly drained the battery.
You should give this a try if you have problems with the battery life of your iPhone: You may find that you do not need a new battery after all.