$(function(){
//验证正则
//引用直接在input添加属性;比如正整数 zsyz="1";2位小数点 xsdyz="1"
$(document).on("keyup", 'input[zsyz=1]', function () {
this.value = this.value.replace(/\D/g, '')//整数
});
//输入整数且可以输入逗号
$("input[zsxs=1],textarea[zsxs=1]").keyup(function(){
this.value=this.value.replace(/[^\r\n0-9\,\,]/g,'');
});
$("input[ch=1],textarea[ch=1]").keyup(function(){
this.value=this.value.replace(/[u4E00-u9FA5]/g,'');
});
//仅限15个英文、数字、字符
$(document).on("keyup", "input[yw=1]", function () {
this.value = this.value.replace(/[^\w\.\/]/ig, '')
});
//仅限15个英文、数字、字符和@
$(document).on("keyup", "input[yw=2]", function () {
this.value = this.value.replace(/[^\w\.\@\/]/ig, '')
});
//仅能输入数字
$(document).on("keyup", "input[num=1]", function () {
this.value = this.value.replace(/[^\d]/g, '')
});
//仅限英文
$(document).on("keyup", "input[en=1]", function (event) {
this.value = this.value.replace(/[^a-zA-Z]+/g, '');
});
//仅限英文,数字
$(document).on("keyup", "input[ennum=1]", function (event) {
//this.value = this.value.replace(/[^\w\.\/]/ig,'');
this.value = this.value.replace(/[^\d|a-zA-Z]/g,'');
});
//保留小数点2位
function decimal(obj) {
obj.value = obj.value.replace(/[^\d.]/g, '');//清楚数字和.以外的字数
obj.value = obj.value.replace(/^\./g, "");
obj.value = obj.value.replace(/\.{2,}/g, '');//保留第一个,清楚多余的
//obj.value = obj.value.replace(".");
obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');
}
$(document).on("keyup", "input[decimal=1]", function (event) {
decimal(this)
})
function subNum(num,dot_behind)
{//将数字保留小数点后两位,不四舍五入
//num即将要被截取的数字, dot_behind保留小数点后的位数
num=parseFloat(num);
var dot_behind_wz=dot_behind+1;
var num1=num.toString(10);
var start_wz=num1.lastIndexOf('.');
if(start_wz==-1)
{//没有小数点
return parseFloat(num);
}
var num2=num1.substring(0,start_wz+dot_behind_wz);
var num3=parseFloat(num2);
num3=num3.toFixed(dot_behind);
num3=parseFloat(num3);
return num3;
}
//保留N位小数,无四舍五入, 添加属性 xsd_data="n"
function xsdN( dom , ws){
var num = dom.val();
ws = parseInt(ws);
var start_wz = num.indexOf(".");
if( start_wz!=-1){ //当存在小数点时,做切割
if(start_wz !=num.length-1){
var tmp = start_wz+ws+1;
var num1= num.substring(0,tmp);
var num2 = parseFloat(num1);
dom.val(num2);
}
}
else{ //当不存在小数点时,不允许输入数字,小数点外的字符
num = parseFloat(num);
if(num){
dom.val(num);
}else{ //num==NaN的时候
if(num==0){
dom.val("0");
}
else{
dom.val("");
}
}
}
}
//保留2 位
$(document).on("keyup","input[xsd_data=2]",function(){
xsdN( $(this),$(this).attr("xsd_data"));
})
//保留3 位
$(document).on("keyup","input[xsd_data=3]",function(){
xsdN( $(this),$(this).attr("xsd_data"));
})
//保留4 位
$(document).on("keyup","input[xsd_data=4]",function(){
xsdN( $(this),$(this).attr("xsd_data"));
})
//小数点2位保留位
function xsdyz(obj) {
obj.value = obj.value.replace(/[^\d.]/g, '');//清楚数字和.以外的字数
obj.value = obj.value.replace(/^\./g, "");
obj.value = obj.value.replace(/\.{2,}/g, '');//保留第一个,清楚多余的
//obj.value = obj.value.replace(".");
obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');
}
$(document).on("keyup", "input[xsdyz=1],textarea[xsdyz=1]", function (event) {
xsdyz(this);
})
//浮点数 2位小数(可以为负数)
function fds(obj) {
obj.value = obj.value.replace(/[^\d.-]/g, '');//清楚数字和.以外的字数
obj.value = obj.value.replace(/^\./g, "");
obj.value = obj.value.replace(/^-\./g, "");
obj.value = obj.value.replace(/\.{2,}/g, '');//保留第一个,清楚多余的
obj.value = obj.value.replace(/\-{2,}/g, '');//保留第一个,清楚多余的
obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');
}
$(document).on("keyup", "input[fds=1],textarea[fds=1]", function (event) {
fds(this);
})
$("input[xsdyz=1],textarea[xsdyz=1]").bind("keypress", function (event) {
$(this).css("ime-mode", "disabled");
var event = event || window.event;
var this_val = $(this).val();
//clearNum(this)
//控制第一个不能输入小数
if (this_val.length == 0 && event.which == 46) {
event.preventDefault();
return;
}
//只能输入一个小数点
if (this_val.indexOf('.') != -1 && event.which == 46) {
event.preventDefault();
return;
}
//禁止除了数字以外输入
if (event.which && (event.which < 48 || event.which > 57 ) && event.which != 8 && event.which != 46) {
event.preventDefault();
return;
}
})
})
replace 正则表达式
最新推荐文章于 2024-06-28 09:59:46 发布