Actually, this construct:
[[ $version =~ ^1\.+ ]] && versionFlag=1
is easily extended to support the "no-match" case; just do this:
[[ $version =~ ^1\.+ ]] && versionFlag=1 || versionFlag=0
Incidentally, note the change from '*' to '+' in the regex. Using the star, the regex will still incorrectly match on a version value of "10". (The '*' modifier means "match zero or more occurrences", i.e., you still don't need to have a decimal point; the '+' modifier means "match one or more occurrences".) Making this change will, however, mean that "1" (i.e., a value without a decimal) will not match; this might or might not be a problem for your application.
There is also a way to do this without using the regex-match operator, if you don't have it; try this:
[[ ${version#1.} != ${version} ]] && versionFlag=1 || versionFlag=0
This is just a pattern-match, not a regex, so if you really need regex functionality, it won't work, but for simple stuff, it's great. (If you're not familiar with this form of parameter expansion, the "${version#1.}" construct expands to the value of "version", but with the post-'#' pattern removed from the beginning of the value if it was originally there. Example: If "version" has a value of "1.03", the result of "${version#1.}" is "03". Since this differs from the original value, the "!=" test succeeds.)