Add vertices at the intersection of edges
You can indeed, select all the edges and  use the shipped add-on TinyCAD &gt; XALL to put a vertex at the intersections of all the lines simultaneously. All those intersections have to be detected. This can get (Python) computationally expensive in more complex cases..
More Blenderish, here, IMO, would be to delete all those edges, start from a clean perimeter, and CtrlF  Face Menu &gt; Grid Fill the empty rectangle, (constructing the intersections instead; much cheaper,) before X deleting 'Only Faces', if you want the bare edges.