代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Js
】
前台录入数字文本校验
作者:
俊驰
/ 发布于
2016/3/3
/
713
/**div、input、textarea、select 非空、文本或数字校验**/ /** * 属性:class -- 校验类,必须有 item -- 校验提醒,非必须 txtType -- 校验类别,非必须,number数字校验(只适用input);默认为文本校验 min -- 最小值,非必须,默认为0,非空;min="-1"允许空; //文本校验 max -- 最大长度,非必须,默认无最大值; //数字校验 intBitLength -- 整数位数,非必须,默认无限制; floatBitLength -- 小数位数,非必须,默认无小数。 onkeyup -- 键盘录入,通过正则过滤非数字、小数点,必须有,值:numberValidate(this) onafterpaste -- 复制录入,通过正则过滤非数字、小数点,必须有,值:numberValidate(this) onblur -- 通过正则过滤尾部小数点,必须有,值:numberRemoveLastPoint(this) **/ /** 举例: * 非空,最大长度200 <textarea class="validated" max="200" onpropertychange="if(value.length>200) value=value.substr(0,200)" item="审核意见"/> 非空 <select class='validated' min='0' item='项目类别'> 非空,数字整数6位,小数1位 <input type="text" class="validated" txtType="number" onkeyup="numberValidate(this)" intBitLength="6" floatBitLength="1" onblur="numberRemoveLastPoint(this)" onafterpaste="numberValidate(this)"/>**/ /** * 提交之前执行校验: if(!validateByClass("validated")){ return; } **/ function numberValidate(object){ defaults = { intBitLength : null, floatBitLength : 0 } var _this = $(object); var reguInt = /^[-]{0,1}[0-9]{1,}$/; var reguZInt = /^\+?[1-9][0-9]*$/g; var getFloatBitLength = _this.attr("floatBitLength"); //校验整数 if(reguInt.test(getFloatBitLength)){ defaults.floatBitLength = getFloatBitLength; } var floatBitLenStr = ''; for(var i=0;i< defaults.floatBitLength;i++){ floatBitLenStr = floatBitLenStr + '\\d'; } //校验正整数 var getIntBitLength = _this.attr("intBitLength"); if(reguZInt.test(getIntBitLength)){ defaults.intBitLength = getIntBitLength; } if(defaults.intBitLength != null){ if(defaults.floatBitLength == 0){ _this.attr('maxlength',defaults.intBitLength); }else{ _this.attr('maxlength',parseInt(defaults.intBitLength) + 1 + parseInt(defaults.floatBitLength)); } } var _val = _this.val(); if(defaults.floatBitLength == 0){ _val=_val.replace(/\D/g,''); }else{ _val=_val.replace(/[^\d.]/g,'').replace(/^\./g,'').replace(/\.{2,}/g,'.') .replace('.','$#$').replace(/\./g,'').replace('$#$','.').replace(eval('/^(\\-)*(\\d+)\\.('+floatBitLenStr+').*$/'),'$1$2.$3'); } _val=_val.replace(/^0([^\.])/g,'$1'); _this.val(_val); } function numberRemoveLastPoint(object){ var _this = $(object); var _val = _this.val().replace(/\.$/g,''); _this.val(_val); } function showLengthError(_errorMsg){ var msg = $("<span></span>").addClass("c_red lenError"); $(msg).text("*" + _errorMsg); return msg; } function removeLengthError(){ $(".lenError").remove(); } jQuery.fn.checkLength = function(parameters){ defaults = { min:0 ,max:null ,message:{ minError:"不能为空" ,maxError:"最大长度限制" } ,item:"输入项" ,intBitLength : null ,floatBitLength : 0 } var getItem = $(this).attr("item"); if(getItem != null && getItem != "" && getItem != undefined){ defaults.item = getItem; } var reguInt = /^[-]{0,1}[0-9]{1,}$/; var reguZInt = /^\+?[1-9][0-9]*$/g; var getMin = $(this).attr("min"); //校验整数 if(reguInt.test(getMin)){ defaults.min = getMin; } //校验正整数 var getMax = $(this).attr("max"); if(reguZInt.test(getMax)){ defaults.max = getMax; } //校验正整数 var getIntBitLength = $(this).attr("intBitLength"); if(reguZInt.test(getIntBitLength)){ defaults.intBitLength = getIntBitLength; } var getFloatBitLength = $(this).attr("floatBitLength"); //校验整数 if(reguInt.test(getFloatBitLength)){ defaults.floatBitLength = getFloatBitLength; } jQuery.extend(defaults,parameters); var taValue; if($(this).is('div')){ taValue = $(this).html(); }else if($(this).is('input') || $(this).is('textarea')){ taValue = $(this).val(); }else if ($(this).is('select')){ taValue = $(this).find("option:selected").val(); }else{ taValue = ""; } var len = taValue.length; //过滤掉输入的只有空格和换行的情况 var tmpVal = taValue; //替换半角空格 tmpVal = tmpVal.replace(/\s/g,""); //替换全角空格 tmpVal = tmpVal.replace(/ /g,""); //替换换行 tmpVal = tmpVal.replace(/\n/g,""); var errorEndDisc = '字'; //是否数字校验 if( $(this).attr("txtType")=='number' && $(this).is('input')){ if(defaults.max == null){ defaults.max = defaults.intBitLength; errorEndDisc = '位整数'; len = tmpVal.replace(/^(\-)*(\d+)\.[\d\D]*$/,'$2').length; }else{ errorEndDisc = '为最大数'; len = parseFloat(tmpVal); } if(defaults.floatBitLength != 0){ errorEndDisc += defaults.floatBitLength + '位小数'; } } if(tmpVal.length == 0){ len = 0; } removeLengthError(); if(defaults.max != null && len > defaults.max){ alert(defaults.item + " " + defaults.message.maxError + defaults.max + errorEndDisc); $(this).parent().append(showLengthError(defaults.message.maxError + defaults.max + errorEndDisc) ).show(); return false; }else if(len <= defaults.min){ alert(defaults.item + " " + defaults.message.minError); $(this).parent().append(showLengthError(defaults.message.minError)).show(); return false; }else { //替换"<"、">" $("input[type='hidden']").each(function(index){ var ele=$(this).val().replace(/</g,"<").replace(/>/g,">"); $(this).val(ele); }); $("input[type='text']").each(function(index){ var ele=$(this).val().replace(/</g,"<").replace(/>/g,">"); $(this).val(ele); }); $("textarea").each(function(index){ var ele=$(this).text().replace(/</g,"<").replace(/>/g,">"); $(this).text(ele); }); return true; } } function validateByClass(_className){ var _validateList = $("." + _className); for(var i = 0; i < _validateList.length; i++){ if(!$(_validateList[i]).checkLength()){ return false; } } return true; }
试试其它关键字
同语言下
.
Jquery搜索框获取回车事件
.
H5页面添加倒计时,然后自动跳转
.
通过user-agent判断h5页面是在哪个手机App(QQ、微信
.
nginx 禁止未绑定的域名访问
.
JavaScript 获取按键,并屏蔽系统 Window 事件
.
H5之只允许微信浏览器打开,禁止从外部浏览器访问
.
微信打开网址添加在浏览器中打开提示的办法
.
实现JS复制、粘贴,Chrome/Firefox下可用
.
video视频播放,play()、pause()、duration时长、onen
.
HTML5实现MP3上传前的预览和播放时长的获取
可能有用的
.
Jquery搜索框获取回车事件
.
H5页面添加倒计时,然后自动跳转
.
通过user-agent判断h5页面是在哪个手机App(QQ、微信
.
nginx 禁止未绑定的域名访问
.
JavaScript 获取按键,并屏蔽系统 Window 事件
.
H5之只允许微信浏览器打开,禁止从外部浏览器访问
.
微信打开网址添加在浏览器中打开提示的办法
.
实现JS复制、粘贴,Chrome/Firefox下可用
.
video视频播放,play()、pause()、duration时长、onen
.
HTML5实现MP3上传前的预览和播放时长的获取
俊驰
贡献的其它代码
(
9
)
.
三个表左外连接
.
二维数组去除重复值
.
判断键盘是否按的回车键并触发指定按钮点击操作
.
计算代码执行时间
.
mysql 分页语句
.
剩余的文件数
.
二分查找法
.
前台录入数字文本校验
.
数字计算工具 NumberUtil
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3