JavaScript基础(10) --常用的js方法,包括表单校验的一些方法

  1. /** 

  2.  * 对JSON对象转换为字符串. 

  3.  * @param {json对象} json 

  4.  * @return {json字符串} 

  5.  */  

  6. function jsonObj2Str(json) {  

  7.         var str = "{";  

  8.         for (prop in json) {  

  9.                 str += prop + ":" + json[prop] + ",";  

  10.         }  

  11.         str = str.substr(0, str.length - 1);  

  12.         str += "}";   

  13.         return str;  

  14. }  

  15.   

  16. /** 

  17.  * 将json字符串转换为json对象. 

  18.  * @param {json字符串} jsonstr 

  19.  * @return {json对象} 

  20.  */  

  21. function jsonStr2Obj(jsonstr) {  

  22.          return eval("("+jsonstr+")");  

  23. }  

  24.   

  25. /** 

  26.  * 得到一个元素的left坐标值. 

  27.  * @param {dom对象} obj 

  28.  * @return {位置值} 

  29.  */  

  30. function getLeft(obj){   

  31.         var offset=e.offsetLeft;   

  32.         if(e.offsetParent!=null) offset+=getLeft(e.offsetParent);   

  33.         return offset;   

  34. }   

  35.   

  36. /** 

  37.  * 得到一个元素的绝对位置的top坐标值. 

  38.  * @param {dom对象} obj 

  39.  * @return {位置值} 

  40.  */  

  41. function getTop(obj){   

  42.         var offset=e.offsetTop;   

  43.         if(e.offsetParent!=null) offset+=getTop(e.offsetParent);   

  44.         return offset;   

  45. }   

  46.   

  47. /** 

  48.  * 删除一个字符串的左右空格. 

  49.  * @param {原始字符串} str 

  50.  * @return {删除空格之后的字符串} 

  51.  */  

  52. function  trim(str)  

  53. {    

  54.    return  str.replace(/(^\s*)|(\s*$)/g,"");    

  55. }  

  56.   

  57. /** 

  58.  * 根据id取出一个元素. 

  59.  * @param {元素id值} str 

  60.  * @return {dom对象} 

  61.  */  

  62. function $(str) {  

  63.         return document.getElementById(str);  

  64. }  

  65.   

  66. /** 

  67.  * 按name获取一个对象. 

  68.  * @param {元素name值} str 

  69.  * @return {根据name返回的第一个对象} 

  70.  */  

  71. function $byName(str) {  

  72.         var arr = document.getElementsByName(str);  

  73.         if (arr)  

  74.                 return arr[0];  

  75.         else  

  76.                 return null;  

  77. }  

  78.   

  79. /***************以下方法和表单验证相关*************************************************/  

  80. /** 

  81.  * 返回非空字符串,如果有默认值就返回默认字符串. 

  82.  * @param {要进行转换的原字符串} str 

  83.  * @param {默认值} defaultStr 

  84.  * @return {返回结果} 

  85.  */  

  86. function notNull(str, defaultStr) {  

  87.         if (typeof(str) == "undefined" || str == null || str == '') {  

  88.                 if (defaultStr)  

  89.                         return defaultStr;  

  90.                 else  

  91.                         return '';  

  92.         } else {  

  93.                 return str;  

  94.         }  

  95. }    

  96.   

  97. /** 

  98.  * 比较两个日期大小. 

  99.  * @param {较小日期的文本框id} smallDate 

  100.  * @param {较大日期的文本框id} bigDate 

  101.  * @param {出错的提示信息} msg 

  102.  */  

  103. function compareTwoDate(smallDate, bigDate, msg) {  

  104.         var v1 = $(smallDate).value;  

  105.         var v2 = $(bigDate).value;  

  106.         if (v1 >= v2) {  

  107.                 alert(msg);  

  108.                                 v2.focus();  

  109.                 return false;  

  110.         }  

  111.         return true;  

  112. }  

  113.   

  114. /** 

  115.  * 比较两个金额大小的方法. 

  116.  * @param {较小的金额} smallNum 

  117.  * @param {较大的金额} bigNum 

  118.  * @param {出错提示信息} msg 

  119.  * @return {Boolean} 

  120.  */  

  121. function compareTwoNum(smallNum, bigNum, msg) {  

  122.         var v1 = $(smallNum).value;  

  123.         var v2 = $(bigNum).value;   

  124.         if (parseFloat(v1) >= parseFloat(v2)) {  

  125.                 alert(msg);  

  126.                                 v2.focus();  

  127.                 return false;  

  128.         }  

  129.         return true;  

  130. }  

  131.   

  132. /** 

  133.  * 检查文本框的长度是否超出指定长度. 

  134.  * @param {文本id} textId 

  135.  * @param {文本框的最大长度} len 

  136.  * @param {文本框描述内容} msg 

  137.  * @return {有错就返回false,否则返回true} 

  138.  */  

  139. function checkLength(textId, len, msg) {  

  140.         obj = $(textId);  

  141.         str = obj.value;  

  142.         str = str.replace(/[^\x00-\xff]/g, "**");  

  143.         realLen = str.length;  

  144.         if (realLen > len) {  

  145.                 alert("[" + msg + "]" + "长度最大为" + len + "位," + "请重新输入!\n注意:一个汉字占2位。");  

  146.                 obj.focus();  

  147.                 return false;  

  148.         } else  

  149.                 return true;  

  150. }  

  151.   

  152. /** 

  153.  * 判断某个文本框不可以为空. 

  154.  * @param {文本框id} textId 

  155.  * @param {文本框描述内容} msg 

  156.  * @return {有错就返回false,否则返回true} 

  157.  */  

  158. function checkIfEmpty(textId, msg) {  

  159.         var textObj = $(textId);  

  160.         var textValue = textObj.value;  

  161.         if (trim(textValue) == '') {  

  162.                 alert('[' + msg + ']不得为空!');  

  163.                 textObj.focus();  

  164.                 return false;  

  165.         } else {  

  166.                 return true;  

  167.         }  

  168. }  

  169.   

  170. /** 

  171.  * 判断指定文本框内容必须为邮件. 

  172.  * @param {文本框id} textId 

  173.  * @param {文本框描述} msg 

  174.  * @return {如果是邮件内容就返回true否则返回false} 

  175.  */  

  176. function checkIsMail(textId, msg) {  

  177.         var obj = $(textId);  

  178.         if (!_isEmail(obj.value)) {  

  179.                 alert('[' + msg + ']不是合法的邮件地址!');  

  180.                 obj.focus();  

  181.                 return false;  

  182.         } else  

  183.                 return true;  

  184. }  

  185.   

  186. /** 

  187.  * 验证是不是邮件. 

  188.  * @param {要验证的字符串} strEmail 

  189.  * @return {Boolean} 

  190.  */  

  191. function _isEmail(strEmail) {  

  192.         //接下来的验证是否有两个以上的‘.’号,有的话就是错的!  

  193.         var first = strEmail.indexOf('.');    

  194.         if (strEmail.indexOf('@')== -1) {  

  195.                 return false;  

  196.         }  

  197.         var tempStr = strEmail.substring(first + 1);  

  198.          if (tempStr.indexOf('.') != -1) {  

  199.                 return false;  

  200.         }  

  201.         if (strEmail  

  202.                         .search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1) {  

  203.                 return true;  

  204.         } else  

  205.                 return false;  

  206. }  

  207.   

  208. /** 

  209.  * 判断某个文本框是否数字. 

  210.  * @param {文本框id} textId 

  211.  * @param {文本框描述内容} msg 

  212.  * @return {Boolean} 

  213.  */  

  214. function checkIsNum(textId, msg) {  

  215.         obj = $(textId);  

  216.         if (isNaN(obj.value)) {  

  217.                 alert('[' + msg + ']必须为数字。');  

  218.                 obj.focus();  

  219.                 return false;  

  220.         } else  

  221.                 return true;  

  222. }  

  223.   

  224. /** 

  225.  * 判断某个文本框是否含有非法字符. 

  226.  * @param {文本框的id} textId 

  227.  * @param {文本框描述内容} msg 

  228.  * @return {有错就返回false否则返回true} 

  229.  */  

  230. function checkIsValid(textId, msg) {  

  231.         obj = $(textId);  

  232.         if (!_isValidString(obj.value, '[' + msg + ']不得含有非法字符。')) {  

  233.                 obj.focus();  

  234.                 return false;  

  235.         }  

  236.         return true;  

  237. }  

  238.   

  239. /** 

  240.  * 判断是不是合法字符串. 

  241.  * @param {要进行判断的字符串} szStr 

  242.  * @param {文本描述} errMsg  

  243.  * @return {合法则返回true否则返回false} 

  244.  */  

  245. function _isValidString(szStr,errMsg) {  

  246.         voidChar = "'\"><`~!@#$%^&\(\)()!¥……??“”‘’*";  

  247.         for (var i = 0; i < voidChar.length; i++) {  

  248.                 aChar = voidChar.substring(i, i + 1);  

  249.                 if (szStr.indexOf(aChar) > -1){  

  250.                         alert(errMsg)  

  251.                         return false;  

  252.                 }  

  253.         }  

  254.         return true;  

  255. }   

转载于:https://www.cnblogs.com/zxingp/articles/6146335.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值