javascript各种各样的验证方法(正则表达式)
绝对有用,项目中绝对也常用
代码如下:
/**
* 取得字符串的字节长度
*/
代码
1. function strlen(str)
2. {
3. var i;
4. var len;
5.
6. len = 0;
7. for (i=0;i 8. { 9. if (str.charCodeAt(i)>255) len+=2; else len++; 10. } 11. return len; 12. } 13. /* * 判断是否为数字,是则返回true,否则返回false */ 代码 1. function f_check_number(obj) 2. { 3. if (/^\\d+$/.test(obj.value)) 4. { 5. return true; 6. } 7. else 8. { 9. f_alert(obj,”请输入数字”); 10. return false; 11. } 12. } 13. /* * 判断是否为自然数,是则返回true,否则返回false */ 代码 1. function f_check_naturalnumber(obj) 2. { 3. var s = obj.value; 4. if (/^[0-9]+$/.test( s ) && (s > 0)) 5. { 6. return true; 7. } 8. else 9. { 10. f_alert(obj,”请输入自然数”); 11. return false; 12. } 13. } 14. /* * 判断是否为整数,是则返回true,否则返回false */ 代码 1. function f_check_integer(obj) 2. { 3. if (/^(\\+|-)?\\d+$/.test( obj.value )) 4. { 5. return true; 6. } 7. else 8. { 9. f_alert(obj,”请输入整数”); 10. return false; 11. } 12. } 13. /* * 判断是否为实数,是则返回true,否则返回false */ 代码 1. function f_check_float(obj) 2. { 3. if (/^(\\+|-)?\\d+($|\\.\\d+$)/.test( obj.value )) 4. { 5. return true; 6. } 7. else 8. { 9. f_alert(obj,”请输入实数”); 10. return false; 11. } 12. } 13. /* * 校验数字的长度和精度 */ 代码 1. function f_check_double(obj){ 2. var numReg; 3. var value = obj.value; 4. var strValueTemp, strInt, strDec; 5. var dtype = obj.eos_datatype; 6. var pos_dtype = dtype.substring(dtype.indexOf(”(”)+1,dtype.indexOf(”)”)).split(”,”); 7. var len = pos_dtype[0], prec = pos_dtype[1]; 8. try 9. { 10. numReg =/[\\-]/; 11. strValueTemp = value.replace(numReg, “”); 12. numReg =/[\\+]/; 13. strValueTemp = strValueTemp.replace(numReg, “”); 14. //整数 15. if(prec==0){ 16. numReg =/[\\.]/; 17. if(numReg.test(value) == true){ 18. f_alert(obj, “输入必须为整数类型”); 19. return false; 20. } 21. } 22. if(strValueTemp.indexOf(”.”) < 0 ){ 23. if(strValueTemp.length >( len - prec)){ 24. f_alert(obj, “整数位不能超过”+ (len - prec) +”位”); 25. return false; 26. } 27. }else{ 28. strInt = strValueTemp.substr( 0, strValueTemp.indexOf(”.”) ); 29. if(strInt.length >( len - prec)){ 30. f_alert(obj, “整数位不能超过”+ (len - prec) +”位”); 31. return false; 32. } 33. strDec = strValueTemp.substr( (strValueTemp.indexOf(”.”)+1), strValueTemp.length ); 34. if(strDec.length > prec){ 35. f_alert(obj, “小数位不能超过”+ prec +”位”); 36. return false; 37. } 38. } 39. return true; 40. }catch(e){ 41. alert(”in f_check_double = ” + e); 42. return false; 43. } 44. } 45. /* * 校验数字的最小最大值 * 返回bool */ 代码 1. function f_check_interval(obj) 2. { 3. var value = parseFloat(obj.value); 5. var dtype = obj.eos_datatype; 6. var pos_dtype = dtype.substring(dtype.indexOf(”(”)+1,dtype.indexOf(”)”)).split(”,”); 7. 8. var minLimit = pos_dtype[0]; 9. var maxLimit = pos_dtype[1]; 10. var minVal = parseFloat(pos_dtype[0]); 11. var maxVal = parseFloat(pos_dtype[1]); 12. 13. if(isNaN(value)) 14. { 15. f_alert(obj, “值必须为数字”); 16. return false; 17. } 18. if((isNaN(minVal) && (minLimit != “-”)) || (isNaN(maxVal) && (maxLimit != “+”))) 19. { 20. f_alert(obj, “边界值必须为数字或-、+”); 21. return false; 22. } 23. 24. if(minLimit == “-” && !isNaN(maxVal)) 25. { 26. if(value > maxVal) 27. { 28. f_alert(obj, “值不能超过” + maxVal); 29. return false; 30. } 31. } 32. 33. if(!isNaN(minVal) && maxLimit == “+”) 34. { 35. if(value < minVal) 36. { 37. f_alert(obj, “值不能小于” + minVal); 38. return false; 39. } 40. } 41. 42. if(!isNaN(minVal) && !isNaN(maxVal)) 43. { 44. if(minVal > maxVal) 45. { 46. f_alert(obj, “起始值” + minVal + “不能大于终止值” + maxVal); 47. }else 48. { 49. if(!(value <= maxVal && value >= minVal)) 50. { 51. f_alert(obj, “值应该在” + minVal + “和” + maxVal + “之间”); 52. return false; 53. } 54. } 55. } 56. return true; 57. } 58. /* 用途:检查输入字符串是否只由汉字组成 如果通过验证返回true,否则返回false */ 代码 1. function f_check_zh(obj){ 2. if (/^[\\u4e00-\\u9fa5]+$/.test(obj.value)) { 3. return true; 4. } 5. f_alert(obj,”请输入汉字”); 6. return false; 7. } 8. /* * 判断是否为小写英文字母,是则返回true,否则返回false */ 代码 1. function f_check_lowercase(obj) 2. { 3. if (/^[a-z]+$/.test( obj.value )) 4. { 5. return true; 6. } 7. f_alert(obj,”请输入小写英文字母”); 8. return false; 9. } 10. /* * 判断是否为大写英文字母,是则返回true,否则返回false */ 代码 1. function f_check_uppercase(obj) 2. { 3. if (/^[A-Z]+$/.test( obj.value )) 4. { 5. return true; 6. } 7. f_alert(obj,”请输入大写英文字母”); 8. return false; 9. } 10. /* * 判断是否为英文字母,是则返回true,否则返回false */ 代码 1. function f_check_letter(obj) 2. { 3. if (/^[A-Za-z]+$/.test( obj.value )) 4. { 5. return true; 6. } 7. f_alert(obj,”请输入英文字母”); 8. return false; 9. } 10. /* 用途:检查输入字符串是否只由汉字、字母、数字组成 输入: value:字符串 返回: 如果通过验证返回true,否则返回false */ 代码 1. function f_check_ZhOrNumOrLett(obj){ //判断是否是汉字、字母、数字组成 2. var regu = “^[0-9a-zA-Z\\u4e00-\\u9fa5]+$”; 3. var re = new RegExp(regu); 4. if (re.test( obj.value )) { 5. return true; 6. } 7. f_alert(obj,”请输入汉字、字母或数字”); 8. return false; 9. } 10. /* 用途:校验ip地址的格式 输入:strIP:ip地址 返回:如果通过验证返回true,否则返回false; */ 代码 1. function f_check_IP(obj) 2. { 3. var re=/^(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)$/; //匹配IP地址的正则表达式 4. if(re.test( obj.value )) 5. { 6. if( RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256) return true; 7. } 8. f_alert(obj,”请输入合法的计算机IP地址”); 9. return false; 10. } 11. /* 用途:检查输入对象的值是否符合端口号格式 输入:str 输入的字符串 返回:如果通过验证返回true,否则返回false */ 代码 1. function f_check_port(obj) 2. { 3. if(!f_check_number(obj)) 4. return false; 5. if(obj.value < 65536) 6. return true; 7. f_alert(obj,”请输入合法的计算机IP地址端口号”); 8. return false; 9. } 10. /* 用途:检查输入对象的值是否符合网址格式 输入:str 输入的字符串 返回:如果通过验证返回true,否则返回false */ 代码 1. function f_check_URL(obj){ 2. var myReg = /^((http:[/][/])?\\w+([.]\\w+|[/]\\w*)*)?$/; 3. if(myReg.test( obj.value )) return true; 4. f_alert(obj,”请输入合法的网页地址”); 5. return false; 6. } 7. /* 用途:检查输入对象的值是否符合E-Mail格式 输入:str 输入的字符串 返回:如果通过验证返回true,否则返回false */ 代码 1. function f_check_email(obj){ 2. var myReg = /^([-_A-Za-z0-9\\.]+)@([_A-Za-z0-9]+\\.)+[A-Za-z0-9]{2,3}$/; 3. if(myReg.test( obj.value )) return true; 4. f_alert(obj,”请输入合法的电子邮件地址”); 5. return false; 6. }建议继续学习:
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:草原和大树 来源: 博客园-草原和大树
- 标签: 验证
- 发布时间:2009-12-11 22:52:15
- [54] IOS安全–浅谈关于IOS加固的几种方法
- [52] android 开发入门
- [52] 如何拿下简短的域名
- [51] 图书馆的世界纪录
- [49] Oracle MTS模式下 进程地址与会话信
- [49] Go Reflect 性能
- [47] 【社会化设计】自我(self)部分――欢迎区
- [46] 读书笔记-壹百度:百度十年千倍的29条法则
- [35] 程序员技术练级攻略
- [29] 视觉调整-设计师 vs. 逻辑