  We consider the nonlinear Schr\"odinger equation \[ u_t = i \Delta u + | u
|^\alpha u \quad \mbox{on ${\mathbb R}^N $, $\alpha>0$,} \] for
$H^1$-subcritical or critical nonlinearities: $(N-2) \alpha \le 4$. Under the
additional technical assumptions $\alpha\geq 2$ (and thus $N\leq 4$), we
construct $H^1$ solutions that blow up in finite time with explicit blow-up
profiles and blow-up rates. In particular, blowup can occur at any given finite
set of points of ${\mathbb R}^N$.
  The construction involves explicit functions $U$, solutions of the ordinary
differential equation $U_t=|U|^\alpha U$. In the simplest case,
$U(t,x)=(|x|^k-\alpha t)^{-\frac 1\alpha}$ for $t<0$, $x\in {\mathbb R}^N$. For
$k$ sufficiently large, $U$ satisfies $|\Delta U|\ll U_t$ close to the blow-up
point $(t,x)=(0,0)$, so that it is a suitable approximate solution of the
problem. To construct an actual solution $u$ close to $U$, we use energy
estimates and a compactness argument.
