目的: 使用正则表达式对数据进行校验
使用正则表达式的优点: 1. 可进行更为复杂的精确复杂的Validation; 2. 更重要的是, 在动态创建爱UI时, 可在xml, 数据库或其他持久性存储中存放对某一UI的正则表达式, 在创建后便可设定给有关ui.
如某UI只允许输入数字, 可监听FlexEvent.VALUE_COMMIT或Event.CHANG事件:
var regExp:RegExp = new RegExp("^[0-9]*$"); if(!regExp.test(getVauleFromUI())) { _errorMessage = RM.getString(BUNDLE_CONSOLE, "error.msg.regexp.wrong", [regExp.toString()]); }
效果:
textInputScore.addEventListener(Event.CHANGE, onTextInputScoreChange); // 监听Change事件 // 检测成绩输入是否有效: 1. 必须为Number; 2. 必须小于最高分 //if(isNaN(parseFloat(textInputScore.text))) { //错误, 形如2w之类将不报错.... if(isNaN(Number(textInputScore.text))) { textInputScore.errorString = RM.getString(BUNDEL_ONLINETEST, "olt.grading.errorMessage.nan", [textInputScore.text]); }else if(parseFloat(textInputScore.text) > _questionAttempt.question.marksCorrrect) { textInputScore.errorString = RM.getString(BUNDEL_ONLINETEST, "olt.grading.errormessage.outScop", [textInputScore.text, _questionAttempt.question.marksCorrrect]); }else { textInputScore.errorString = null; } }
// Proudly powered by Apache, PHP, MySQL, WordPress, Bootstrap, etc,.