js常见input校验

//校验输入价格等,保留2位小数
function clearNoNum(obj){
    obj.onkeyup = function(event){
      var e = event || window.event;
      if (e.keyCode == 37 || e.keyCode == 39) {//允许输入左右方向键
        return;
      }
      if(((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105))) {
          return;
      }
      obj.value = obj.value.replace(/[^\d.]/g,"");  //清除“数字”和“.”以外的字符
      obj.value = obj.value.replace(/\.{2,}/g,"."); //只保留第一个. 清除多余的
      obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
      obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,‘$1$2.$3‘);//只能输入两个小数
      if(obj.value.indexOf(".")< 0 && obj.value !=""){//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
       obj.value= parseFloat(obj.value);
      }  

    };
}

//校验输入整数不包括负整数
function clearNoInteger(obj){
    obj.onkeyup = function(event){
          var e = event || window.event;
          if (e.keyCode == 37 || e.keyCode == 39) {//允许输入左右方向键
            return;
          }
          if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105))) {
              obj.value = obj.value.replace(/[^\d]/g,"");//清除“数字”和“.”以外的字符
              var numarr = obj.value.split(‘‘);
              if (numarr[0] == 0) {
                  var j = 0;
                  for (var i=0;i <numarr.length; i++) {
                      if (numarr[i] != 0) {
                          j = i;
                          break;
                      }

                  }
                  obj.value = obj.value.substring(j,obj.value.length)
              }

          }

          if (((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105))) {
              var numarr = obj.value.split(‘‘);
              if (numarr[0] == 0) {
                  var j = 0;
                  for (var i=0;i <numarr.length; i++) {
                      if (numarr[i] != 0) {
                          j = i;
                          break;
                      }

                  }
                  obj.value = obj.value.substring(j,obj.value.length)
              }
          }
   };
}

function isPositiveNum(s){//是否为正整数
    var re = /^[0-9]*[1-9][0-9]*$/ ;
    return re.test(s)
}

function validate(num){//是否为正数
  var reg = /^\d+(?=\.{0,1}\d+$|$)/
  if(reg.test(num)) return true;
  return false ;
}

function stripscript(s) {//过滤特殊字符
    var pattern = new RegExp("[`[email protected]#$^&*()=|{}‘:;‘,\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“‘。,、?]")
    var rs = "";
    for (var i = 0; i < s.length; i++) {
        rs = rs + s.substr(i, 1).replace(pattern, ‘‘);
    }
    return rs;
}

function containSpecial(s) { //判断是否包含非法字符
    var containSpecial = RegExp(/[(\ )(\~)(\!)(\@)(\¥)(\#)(\$)(\%)(\^)(\&)(\*)(\()(\))(\-)(\_)(\+)(\=)(\[)(\])(\{)(\})(\|)(\\)(\;)(\:)(\‘)(\")(\,)(\.)(\/)(\<)(\>)(\?)(\)]+/);
    return (containSpecial.test(s));
}

function getByteLen(val) {//计算字符长度(中文算2个字符,英文算1个字符)
    var len = 0;
    for (var i = 0; i < val.length; i++) {
         var a = val.charAt(i);
         if (a.match(/[^\x00-\xff]/ig) != null)
        {
            len += 2;
        }
        else
        {
            len += 1;
        }
    }
    return len;
}

//生成对应随机数
function GetRandomNum(Min,Max,type){
    var Range = Max - Min;
    var Rand = Math.random();
    var num = (Min + Math.round(Rand * Range));
    if(type = 2){
        num = parseFloat(Math.random().toFixed(1)) + parseFloat(num);
    }else if(type == 3){
        num = parseFloat(Math.random().toFixed(2)) + parseFloat(num);
    }
    return num;
}

//去除前后空格
function trim(s){
    return s.replace(/(^\s*)|(\s*$)/g, "");
}

//获取随机数
function getRandom() {
   return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
}

//生成随机数id
function getId() {
   return (getRandom()+getRandom()+"-"+getRandom()+"-"+getRandom()+"-"+getRandom()+"-"+getRandom()+getRandom()+getRandom());
}

//对Date的扩展,将 Date 转化为指定格式的String
//月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
//年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
//例子:
//(new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
//(new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18
Date.prototype.Format = function (fmt) { //author: meizz
 var o = {
     "M+": this.getMonth() + 1, //月份
     "d+": this.getDate(), //日
     "h+": this.getHours(), //小时
     "m+": this.getMinutes(), //分
     "s+": this.getSeconds(), //秒
     "q+": Math.floor((this.getMonth() + 3) / 3), //季度
     "S": this.getMilliseconds() //毫秒
 };
 if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
 for (var k in o)
 if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
 return fmt;
}
时间: 2024-08-26 10:18:48

js常见input校验的相关文章

JS常见面试题目 选择的第几个radio,name一样都叫radiogroup

<html> <head> <script language="javascript"> function parse() { } </script> </head> <body> <form onsubmit = "return parse()"> <input name="radioGroup" type="radio"/> &

正则及JS限制input输入类型

1.只能输入和粘贴汉字 <input onkeyup="value=value.replace(/[^u4E00-u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,''))"><br/> 3.只能输入和粘贴数字 <input onkeyup="this

js常见执行方法

$(document).load(); 当web页面以及其附带的资源文件,如CSS,Scripts,图片等,加载完毕后执行此方法.常用于检测页面(及其附带资源)是否加载完毕. $(document).ready();当页面DOM对象加载完毕,web浏览器能够运行JS时,此方法即被触发.如果你想尽快执行JS,可以使用此方法.[在html的头部的script标签中的,不处于ready()中的JS代码将早于ready()执行] $(document).unload();此事件在停止浏览页面的时候触发,

JS常见事件以及函数

1.js enter键激发事件 document.onkeydown = function (e) {            if (!e) e = window.event;            if ((e.keyCode || e.which) == 13) {                $("#btnSubmit").click();            }        } 2. JS常见事件以及函数

html5与js关于input[type=&#39;text&#39;]文本框value改变触发事件一些属性的区别oninput,onpropertychange,onchange和文本框的value点击全选状态onclick=&quot;select();&quot;。做购物车页面时会要用到。

关于input[type='text']文本框value改变触发事件一些属性的区别oninput,onpropertychange,onchange和文本框的点击全选状态onclick="select();".做购物车页面时会要用到. input[type='text']文本框value改变触发事件一些属性的区别oninput,onpropertychange,onchange: 1.onchange事件与onpropertychange事件的区别:onchange事件在内容改变(两次

js 去除input前后空格

$(".b_slideToggle input").bind("blur",function(){ var result=$(this).attr("value").replace(/(^\s*)|(\s*$)/g, ""); $(this).attr("value",result); }); js 去除input前后空格

js获取input长度并根据页面宽度设置大小

1. js获取页面宽度高度及屏幕分辨率 网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽) 网页可见区域高:document.body.offsetHeight (包括边线的宽) 网页正文全文宽:document.body.scrollWidth 网页正文全文高:document.body.scrollHeight 网页被卷去

js 实现 input type=&quot;file&quot; 文件上传示例代码

在开发中,文件上传必不可少但是它长得又丑.浏览的字样不能换,一般会让其隐藏点其他的标签(图片等)来时实现选择文件上传功能 在开发中,文件上传必不可少,<input type="file" /> 是常用的上传标签,但是它长得又丑.浏览的字样不能换,我们一般会用让,<input type="file" />隐藏,点其他的标签(图片等)来时实现选择文件上传功能. 看代码: 代码如下: <!DOCTYPE html> <html x

js常见事件

1.onblur:(使用在表单元素中,当元素失去焦点的时候执行) 2.onchange:(使用在表单元素中,当某些东西改变是执行) 3.onclick:(鼠标点击一个元素时执行) 4.ondblclick:(鼠标双击一个元素时执行) 5.onfocus:(使用在表单元素中,当元素获得焦点时执行) 6.onkeydown: (按下某个按键时执行) 7.onkeypress:(按下和释放某个按键时执行) 8.onkeyup:(释放某个按键时执行) 9.onload:(在body标签中使用,载入页面的