Assuming wlog that the truncated Normal is a standard $\mathcal N(0,1)$ Normal, the density of the distribution to be simulated writes as
$$f(x)\propto e^{-x^2/2}\mathbb I_{(a,b)}(x)+e^{-x^2/2}\mathbb I_{(c,d)}(x)$$
or, with the normalising constant
$$f(x)= \dfrac{e^{-x^2/2}\mathbb I_{(a,b)}(x)+e^{-x^2/2}\mathbb I_{(c,d)}(x)}{\sqrt{2\pi}[\Phi(b)-\Phi(a)+\Phi(d)-\Phi(c)]}$$
when assuming that $a<b<c<d$. As noted by whuber, this writes as a mixture of two truncated Normal distributions,
$$f(x)= \dfrac{\Phi(b)-\Phi(a)}{\Phi(b)-\Phi(a)+\Phi(d)-\Phi(c)}\dfrac{e^{-x^2/2}\mathbb I_{(a,b)}(x)}{\sqrt{2\pi}[\Phi(b)-\Phi(a)]}\\
\qquad\qquad\qquad+\dfrac{\Phi(d)-\Phi(c)}{\Phi(b)-\Phi(a)+\Phi(d)-\Phi(c)}\dfrac{e^{-x^2/2}\mathbb I_{(c,d)}(x)}{\sqrt{2\pi}[\Phi(d)-\Phi(c)]}$$
Since the probability weights
$$\dfrac{\Phi(b)-\Phi(a)}{\Phi(b)-\Phi(a)+\Phi(d)-\Phi(c)}\quad\text{and}\quad\dfrac{\Phi(d)-\Phi(c)}{\Phi(b)-\Phi(a)+\Phi(d)-\Phi(c)}$$
are available, one can pick a component (first or second) according to its probability and then simulate the corresponding truncated Normal (for which I once wrote an efficient accept-reject algorithm that has been implemented in an R package).