27 Java日常练习题,每天进步一点点( 二 )


B: java源文件生成的是class文件,与系统无关
C: 注意字节码和机器码不是一回事 java程序在运行时字节码才会被jvm翻译成机 器码,所以说java是解释性语言
D: 注意jvm的版本

10、关于身份证号,以下正确的正则表达式为( )
正确答案: A C
A:isIDCard=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;
B:isIDCard=/^[1-9]\d{7}((9\d)|(1[0-2]))(([0|1|2]\d)|3[9-1])\d{3}$/;
C:isIDCard=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/;
D:isIDCard=/^[1-9]\d{5}[1-9]\d{3}((9\d)|(1[9-2]))(([0|1|2]\d)|3[9-1])\d{4}$/;

题解:
正确选项
A选项:isIDCard=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/
C选项:isIDCard=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/
^:起始符号,^x表示以x开头
$:结束符号,x$表示以x结尾
[n-m]:表示从n到m的数字
\d:表示数字,等同于[0-9]
X{m}:表示由m个X字符构成,\d{4}表示4位数字
15位身份证的构成:六位出生地区码+六位出身日期码+三位顺序码
18位身份证的构成:六位出生地区码+八位出生日期码+三位顺序码+一位校验码
C选项的构成:
[1-9]\d{5}:六位出生地区码,出生地区码没有以0开头,因此第一位为[1-9] 。
[1-9]\d{3}:八位出生日期码的四位年份,同样年份没有以0开头 。
((0\d)|(1[0-2])):八位出生日期码的两位月份,| 表示或者,月份的形式为0\d或者是10、11、12 。
(([0|1|2]\d)|3[0-1]):八位出生日期码的两位日期,日期由01至31 。
\d{4}:三位顺序码+一位校验码,共四位 。
A选项的构成:
[1-9]\d{7}:六位出生地区码+两位出生日期码的年份,这里的年份指后两位,因此没有第一位不能为0的限制,所以合并了 。
后面的与C选项类似了 。
其实我也是第一次知道身份证还有15位的 。
一代身份证15位,二代18位 。

答案汇总:
1、正确答案: A
2、正确答案: D
3、正确答案: B
4、正确答案: A
5、正确答案: A
6、正确答案: B
7、正确答案: C
8、正确答案: B
9、正确答案: C
10、正确答案: A C
总结本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注趣讯吧的更多内容!