Private IP address validation bug

All IP addresses beginning with "10" followed by any character (not just a dot) are being rejected by the dynamic DNS updater as "private addresses", even though most of them are public, routable IP addresses, e.g. 100.x.x.x is a public IP address, but it is rejected by the dynamic DNS updater.
I suspect the validation is using an incorrect regex, something like "^10." when in fact the regex dot should be escaped, because the dot matches any character in a regex, so the correct form should be "^10\." with the dot prefixed with a backslash, otherwise any public IP beginning with 10[0-9] would be rejected.
In the meantime, it turns out that is indeed a "reserved" address space, for carrier-grade NAT (although not "private" address space), so Zoneedit is right, in refusing to set an IP address in that range.
I asked my ISP to disable carrier-grade NAT and dynamic DNS updates are working again.
Thank you for your support and sorry for the confusion.