A battery charge controller (50) is provided which includes a PWM switch controller (36) that is operable to control a switching regulator to supply current to a battery (10) in either a current regulation mode or a voltage regulation mode. A charge control (40) is operable to control the charging operation such that multiple modes of operation are selectable by an external programmable pin. The three modes provided are: a constant voltage mode, a dual-current mode and a pulse-current mode. The constant voltage mode provides for a conditioning state followed by a bulk charging state followed by a maintenance state. In the bulk charging state, current regulation is provided at a maximum current until a charged condition occurs, at which time the charger is placed in a voltage regulation mode. In the dual-current mode, the system is switched between two current regulation levels, a high current regulation level for fast charging to a substantially fully charged state of around eighty percent of rated full charge after which a low current pulsed operation is maintained during a maintenance mode. In the pulsed-current mode, current regulation is performed at the maximum current until the substantially full charged state is detected, after which the cell voltage is allowed to float until it falls below a nominal cell voltage, at which time rapid charging is again performed at a current regulated level. In this last mode, a substantially fully charged state is determined by examining the gradient of the voltage change of the charging profile to determine when a sustained negative value occurs, this indicating the onset of an increase in the pressure and temperature of the cell.