首页 > 代码库 > 识别数字输入是否非法

识别数字输入是否非法

数字由 ‘-‘   ‘.‘  ‘0-9‘ 组成,如何识别输入是否非法?

合法的情况分为三种,如果不符合这三种情况,则为非法,合法的情况如有:

1. ‘.‘ 开头 -> 后边跟 0-9 (1-N个)
如 .9代表0.9

 

2. ‘-‘开头
后面同0-9开头一样的约束

 

3. ‘0-9‘开头
0-9 (1-N个) - (可以后跟随)- >  . (1个)  - (可以后跟随)- >   0-9 (0-N个)
如:1 / 1. / 1.1

 

合法的情况,用形如编译原理中factor表示的话:

实数:

实数 -> (负数)
实数 -> (正数)
实数 -> (‘.‘小数)

 

负数 -> (-)(正数)

 

正数 ->  (正整数)
正数 -> (正整数)(.)
正数 -> (正整数)(.)(正整数)

 

‘.‘小数 -> (.)(正整数)

 

正整数 -> (0-9)
正整数 -> (0-9)(正整数)

 

Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu 转载请标明来源


 

识别数字输入是否非法