how to fix infinite jumping

my jump codes allows my player to jump infinitely high into the sky. Can someone rectify the mistakes?

this is the code in c#

using UnityEngine; 
using System.Collections;

[RequireComponent(typeof(Rigidbody))]
public class jump : MonoBehaviour 
{
	public float jumpSpeed = 100.0f; 
	private bool isOnGround = true;

	Rigidbody rb; 
	
	// Use this for initialization 
	void Start () 
	{
		isOnGround = true; 
		rb=GetComponent(); 
	}

	float movementSpeed; 
	
	// Update is called once per frame 
	void Update() 
	{ 
		float amountToMove = movementSpeed Time.deltaTime; 
		Vector3 movement = (Input.GetAxis("Horizontal") -Vector3.left amountToMove) + (Input.GetAxis("Vertical") Vector3.forward * amountToMove); 
		rb.AddForce(movement, ForceMode.Force);

		if (isOnGround && Input.GetButtonDown("Jump"))
		{
			rb.AddForce(Vector3.up * jumpSpeed);
		}
	}

	void OnCollisionStay () 
	{ 
		isOnGround = true; 
	} 
}

You never set isOnGround to false. You could do it in OnCollisionExit method and in place where you actually do the jump