需求:判断指标数值是否符合参考范围,例如参考范围"5.5 - 10.5",指标数值7.5,即是符合正常范围;指标数值4.5,即是低于正常范围,指标数值15,即是高于正常范围。
由于参考值的数据来源不同,格式可能不一致,如"5.5 - 10.5"、"5.5-10.5"、"5.5 ~ 10.5"、"5.5~10.5"等。考虑使用正则表达式来获取不同格式的参考范围的最大最小值。
正则表达式:
/(\d+\.{0,1}\d*)[\D^\.]*(\d+\.{0,1}\d*)/
测试匹配结果:
/(\d+\.{0,1}\d*)[\D^\.]*(\d+\.{0,1}\d*)/.exec('5.5 - 10.5');
console.log('min: ' + RegExp.$1, '\nmax: ' + RegExp.$2);
/(\d+\.{0,1}\d*)[\D^\.]*(\d+\.{0,1}\d*)/.exec('6.0-8.0');
console.log('min: ' + RegExp.$1, '\nmax: ' + RegExp.$2);
/(\d+\.{0,1}\d*)[\D^\.]*(\d+\.{0,1}\d*)/.exec('7.2 ~ 14.2');
console.log('min: ' + RegExp.$1, '\nmax: ' + RegExp.$2);
/(\d+\.{0,1}\d*)[\D^\.]*(\d+\.{0,1}\d*)/.exec('20.8~40.8');
console.log('min: ' + RegExp.$1, '\nmax: ' + RegExp.$2);