flex验证总结

来源:互联网 发布:sql注入的方法 编辑:程序博客网 时间:2024/05/20 00:36

最近很长时间没写博客了,主要是刚从学校回来。现在做表单定制的开发,其中涉及到了对flex中输入数据验证处理,比如email,tel,zip,当然flex中已经做的很强大,很实用。但是我们为了满足我们的需求,均对其做了继承,让变的更简单,只需要在你所验证的文本框后面加change="Validate.validate('null',event,txt1)" 即可,因为我们已经把所有的基本验证方法写成Validate这个类的validate方法,需要传参数:需要什么验证(email,tel,qq),event,text的id。然后把其打包为swc文件,最后直接引用进去就ok。很简单,:-) ,更方便以后的扩展,下面主要是代码。

// ActionScript fileimport flash.events.Event;import mx.controls.TextInput;private const chinese_regex:RegExp = /^/[/u4e00-/u9fa5/]+$/;public const chinese_errorString:String="请输入中文"; private function validateChinese(evt:Event,textinputid:TextInput):void { if (chinese_regex.test(textinputid.text)) { textinputid.errorString = null; } else { textinputid.errorString = chinese_errorString; } }// 日期校验private const date_regex:RegExp = /^/d{4}-(0/[1-9/]/|1/[012/])-(3/[01/]/|0/[1-9/]/|/[12/]/d)$/;public const date_errorString:String="请输入YYYY-MM-DD的格式"; private function validateDate(evt:Event,textinputid:TextInput):void { if (date_regex.test(textinputid.text)) { textinputid.errorString = null; } else { textinputid.errorString = date_errorString; }}// email的校验private const email_regex:RegExp = /^/w+(/[-+./]/w+)*@/w+(/[-./]/w+)*/./w+(/[-./]/w+)*$/;public const email_errorString:String="请输入正确的email地址格式"; private function validateEmail(evt:Event,textinputid:TextInput):void { if (email_regex.test(textinputid.text)) {textinputid.errorString = null;} else { textinputid.errorString = email_errorString; }}// 身份证校验证private const identitycard_regex:RegExp = /^/d{17}/[/dxX/]/|/d{14}/[/dxX/]$/;public const identitycard_errorString:String="请输入15位或18位的身份证号"; private function validateIdentitycard(evt:Event,textinputid:TextInput):void {if (identitycard_regex.test(textinputid.text)) { textinputid.errorString = null;} else { textinputid.errorString = identitycard_errorString; }}//空字符校验private const null_regex:RegExp = /^/B$/;public const null_errorString:String="您输入的不是空字符";private function validateNull(evt:Event,textinputid:TextInput):void {if (null_regex.test(textinputid.text)) { textinputid.errorString = null; } else { textinputid.errorString = null_errorString; } }// 数字验证private const number_regex:RegExp = /^/d+$/;public const number_errorString:String="请输入数字"; private function validateNumber(evt:Event,textinputid:TextInput):void { if (number_regex.test(textinputid.text)) {textinputid.errorString = null; } else { textinputid.errorString = number_errorString; } }// 固定电话号码的验证private const telephone_regex:RegExp = /^/d{4}-/d{8}/|/d{4}-/d{7}/|/d{3}-/d{8}$/;public const telelphone_errorString:String="请输入8888-8888888或888-88888888的格式"; private function validatePhoneNumber(evt:Event,textinputid:TextInput):void { if (telephone_regex.test(textinputid.text)) { textinputid.errorString = null; } else { textinputid.errorString = telelphone_errorString; } }// QQ校验private const qq_regex:RegExp = /^/d{5,12}$/;public const qq_errorString:String="请输入5-12位数"; private function validateQQ(evt:Event,textinputid:TextInput):void { if (qq_regex.test(textinputid.text)) { textinputid.errorString = null; } else { textinputid.errorString = qq_errorString; } }//字符串校验private const string_regex:RegExp = /^/w+$/;public const string_errorString:String="请输入字符串"; private function validateString(evt:Event,textinputid:TextInput):void { if (string_regex.test(textinputid.text)) { textinputid.errorString = null; } else { textinputid.errorString = string_errorString; } }// 移动电话验证private const mobile_regex:RegExp = /^/[1/]/[3,5/]+/d{9}$/;public const mobile_errorString:String="请输入手机号码"; private function validateMobile(evt:Event,textinputid:TextInput):void {if (mobile_regex.test(textinputid.text)) { textinputid.errorString = null;} else { textinputid.errorString = mobile_errorString; } }// 邮编校验private const zipcode_regex:RegExp = /^/d{6}$/;public const zipcode_errorString:String="请输入6位数的邮件地址"; private function validateZipCode(evt:Event,textinputid:TextInput):void { if (zipcode_regex.test(textinputid.text)) { textinputid.errorString = null; } else { textinputid.errorString = zipcode_errorString; } } private function validate(str:String,event:Event,textinput:TextInput):void{ switch(str) {case "email":validateEmail(event,textinput);   break;case "chinese":validateChinese(event,textinput);   break;case "date":validateDate(event,textinput);   break;case "chinese":validateChinese(event,textinput);   break;case "identitycard":validateIdentitycard(event,textinput);   break;case "null":validateNull(event,textinput);   break;case "number":validateNumber(event,textinput);   break;case "telephone":validatePhoneNumber(event,textinput);    break;case "qq":validateQQ(event,textinput);   break;case "string":validateString(event,textinput);   break;case "mobile":validateMobile(event,textinput);   ;break;case "zipcode":validateZipCode(event,textinput);   break;
default:break; } }
原创粉丝点击