How to prevent particles from spawning on its emiter's edges?
Let's say you have a plane object,


then a border to restrict the particles can be added by pressing I once to inset the face(s), adjust the border as to how big you need it. Then press I once more and add another border close to the first one. This is needed for the weighting to have some space to change from 1 to 0, as otherwise a single face loop border would have a gradient from inner(1) to outer(0) resulting in particles still spawning there.



With the inner face(s) selected, switch to weight paint mode and make sure the Weight is set to 1:

Now with the mouse over the 3D-Viewport, press Shift+K to set the inner face(s) to a value of 1.

By default the weight is 0, so the outer border should look like in the picture above.
With the weighting done, all you need to do is go in the ParticleSettings under Vertex Groups and select the (with the weight painting) created Group in the Density field.



Happy Blending