直接给出代码了:
New Documentfunction check(obj){
var sreg = /^-+.*/g;
var zero = /^0[1-9]+\.*\d*/g;
var val = obj.value;
var plus = '';
if(sreg.test(val)){
val = val.replace(/-+/g,'');
plus = '-';
}
val = val.replace(/\s+/g,'');
if(/^\.+.*$/.test(val)){
val = '';
}
val = val.replace(/[^\d\.]/,'');
val = val.replace(/(^\d+\.{1})(\d*).*/g,'$1$2');
val = val.replace(/(^\d+\.\d{3})\d*/g,'$1');
val = val.replace(/^[0]*(0{1})([1-9]*)(.*)/g,'$1$2$3');
if(zero.test(val)){
val = val.replace(/0([1-9]+)(.*)$/,'$1$2');
}
obj.value = plus+val;
}
微学网写的一个替换 非数字与中英文逗号的函数,需要的朋友可以参考一下
function renumdou(str){
var regexp = /[^\d,,]]*/g;
newstr=str.replace(regexp,"");
return newstr
}
这就是微学网-程序员之家为你提供的"自动检测数字替换非数字的正则表达式"希望对你有所帮助.本文来自网络,转载请注明出处:http://www.weixuecn.cn/article/12658.html