A good tool is leaflet-control-geocoder (see demo with Google, Nominatim, Bing, and Mapbox services).
I prefer to use Mapbox for geocoding, it works much better with US addresses compared to Nominatim, at least in Connecticut. You will need to create an account and get the public API key. With their new pricing rolled out in June 2019, you get 100,000 geocoder requests per month for free.
First include the library in your HTML:
<link rel="stylesheet" href="https://unpkg.com/leaflet-control-geocoder/dist/Control.Geocoder.css" />
<script src="https://unpkg.com/leaflet-control-geocoder/dist/Control.Geocoder.js"></script>
You JavaScript will look something like that:
L.Control.geocoder({
position: 'topright',
collapsed: false,
placeholder: 'Search...',
defaultMarkGeocode: true,
geocoder: L.Control.Geocoder.mapbox('your-public-mapbox-key', {
geocodingQueryParams: {
country: 'us'
}
})
});