Check if a string contains only number
<p>I am trying to check if a <code>string</code> contains only valid number in the following format</p>

<pre><code>123.456
123
.356
</code></pre>

<p>But it should reject anything that contains non-numbers including double dots. Here are some invalid formats</p>

<pre><code>d123.456
123d
12d3
d.1256
12d.456
12.d12
12.d45d
12.45.56
</code></pre>

<p>I have done the following</p>

<pre><code>SELECT CASE WHEN '123.00' NOT LIKE '%[^0-9.]%' THEN 'Valid' ELSE 'Invalid' END
</code></pre>

<p>When seems to work except for the case where there is more than one dot in the string.</p>

<p>How can I tweak the regular expression to only allow one dot otherwise return 'Invalid'?</p>