Is every non-invertible element of a commutative von Neumann regular ring a zero-divisor? (answered: yes!) As I learned from a previous old question, every commutative von Neumann regular ring is a subdirect product of a family of fields. For a direct product of fields, it seems clear to me that every non-invertible element is a zero-divisor. But a subdirect product is more subtle than a direct product.
However, the question

Is every non-invertible element of a commutative von Neumann regular ring a zero-divisor?

is completely independent from subtleties of the subdirect product. A simple counterexample would be enough to answer it, if it should turn out to be false.
 A: [Sorry for necromancy, I just stumbled on this question while looking for something else.]
This carries over to monoids and has nothing to do with the additive structure of a ring (and little to do with commutativity).
Let $H$ be a (multiplicatively written) monoid. We say that $H$ is Dedekind-finite if $xy = 1_H$ implies $yx = 1_H$; and von Neumann regular (VNR) if, for every $x \in H$, there is an element $y \in H$ such that $xyx = x$. On the other hand, we call an element $x \in H$ singular if $x$ is neither left- nor right-cancellative. Of course, every commutative monoid is Dedekind-finite; and if $H$ is the multiplicative monoid of a unital ring $R$, then the singular elements of $H$ are precisely the (two-sided) zero divisors of $R$.
Claim. Every non-unit of a Dedekind-finite VNR monoid $H$ is singular.
Proof. Let $x \in H$ be a non-unit. Since $H$ is a VNR monoid, we have $x = xyx$ for some $y \in H$. So, if $x$ is left- or right-cancellative (i.e., if $x$ is not singular), then $xy = 1_H$ or $yx = 1_H$, which shows in turn that $x$ is a unit (absurd), by the hypothesis that $H$ is Dedekind-finite. ▢
When dropping the assumption that $H$ is Dedekind-finite, one can still show (by the same argument) that every non-unit of $H$ is either left- or right-singular (cf. David Handelman's first comment under the OP).
