7 个解决方案
#1
求助一下
#2
function isPirce(s){
s = trim(s);
var p =/^[1-9](\d+(\.\d{1,2})?)?$/;
var p1=/^[0-9](\.\d{1,2})?$/;
return p.test(s) || p1.test(s);
}
#3
楼上给了正则了,我给个JQuery1.7的新方法:$.isNumeric()
API是这样说的:
$.isNumeric("-10"); // true
$.isNumeric(16); // true
$.isNumeric(0xFF); // true
$.isNumeric("0xFF"); // true
$.isNumeric("8e5"); // true (exponential notation string)
$.isNumeric(3.1415); // true
$.isNumeric(+10); // true
$.isNumeric(0144); // true (octal integer literal)
$.isNumeric(""); // false
$.isNumeric({}); // false (empty object)
$.isNumeric(NaN); // false
$.isNumeric(null); // false
$.isNumeric(true); // false
$.isNumeric(Infinity); // false
$.isNumeric(undefined); // false
API是这样说的:
$.isNumeric("-10"); // true
$.isNumeric(16); // true
$.isNumeric(0xFF); // true
$.isNumeric("0xFF"); // true
$.isNumeric("8e5"); // true (exponential notation string)
$.isNumeric(3.1415); // true
$.isNumeric(+10); // true
$.isNumeric(0144); // true (octal integer literal)
$.isNumeric(""); // false
$.isNumeric({}); // false (empty object)
$.isNumeric(NaN); // false
$.isNumeric(null); // false
$.isNumeric(true); // false
$.isNumeric(Infinity); // false
$.isNumeric(undefined); // false
#4
function regInput(obj, reg, inputStr)
{
var docSel = document.selection.createRange()
if (docSel.parentElement().tagName != "INPUT") return false
oSel = docSel.duplicate()
oSel.text = ""
var srcRange = obj.createTextRange()
oSel.setEndPoint("StartToStart", srcRange)
var str = oSel.text + inputStr + srcRange.text.substr(oSel.text.length)
return reg.test(str)
}
<INPUT style="WIDTH: 50px;IME-MODE:disabled" value=0 name=flightback min="0" max="99" onKeyPress = "return regInput(this,/^/d*/.?/d{0,2}$/,String.fromCharCode(event.keyCode))"> %
#5
这个新方法不太会用。。。
#6
3楼 ++
#7
用jquery插件,jquery-easyui;结合以下几个验证,楼主基本上只需改动很少量的代码,就可以在系统任意地方做验证输入了,而且对于错误提醒还有很好的提示效果,任何地方的验证只需调用key就ok了。
numberCheck: {
validator: function (value, param) {
return /(^\d+$)/.test(value);
},
message: '请输入数字'
},
floatCheck: {
validator: function (value, param) {
return /(^\d+(\.)(\d+))|(^\d+)$/.test(value);
},
message: '请输入小数'
},
percentCheck: {
validator: function (value, param) {
return /(^\d{1,2}|(\.\d)){1}$/.test(value);
},
message:'请输入精确到1位的百分比,如:22.1'
},
numberCheck: {
validator: function (value, param) {
return /(^\d+$)/.test(value);
},
message: '请输入数字'
},
floatCheck: {
validator: function (value, param) {
return /(^\d+(\.)(\d+))|(^\d+)$/.test(value);
},
message: '请输入小数'
},
percentCheck: {
validator: function (value, param) {
return /(^\d{1,2}|(\.\d)){1}$/.test(value);
},
message:'请输入精确到1位的百分比,如:22.1'
},
#1
求助一下
#2
function isPirce(s){
s = trim(s);
var p =/^[1-9](\d+(\.\d{1,2})?)?$/;
var p1=/^[0-9](\.\d{1,2})?$/;
return p.test(s) || p1.test(s);
}
#3
楼上给了正则了,我给个JQuery1.7的新方法:$.isNumeric()
API是这样说的:
$.isNumeric("-10"); // true
$.isNumeric(16); // true
$.isNumeric(0xFF); // true
$.isNumeric("0xFF"); // true
$.isNumeric("8e5"); // true (exponential notation string)
$.isNumeric(3.1415); // true
$.isNumeric(+10); // true
$.isNumeric(0144); // true (octal integer literal)
$.isNumeric(""); // false
$.isNumeric({}); // false (empty object)
$.isNumeric(NaN); // false
$.isNumeric(null); // false
$.isNumeric(true); // false
$.isNumeric(Infinity); // false
$.isNumeric(undefined); // false
API是这样说的:
$.isNumeric("-10"); // true
$.isNumeric(16); // true
$.isNumeric(0xFF); // true
$.isNumeric("0xFF"); // true
$.isNumeric("8e5"); // true (exponential notation string)
$.isNumeric(3.1415); // true
$.isNumeric(+10); // true
$.isNumeric(0144); // true (octal integer literal)
$.isNumeric(""); // false
$.isNumeric({}); // false (empty object)
$.isNumeric(NaN); // false
$.isNumeric(null); // false
$.isNumeric(true); // false
$.isNumeric(Infinity); // false
$.isNumeric(undefined); // false
#4
function regInput(obj, reg, inputStr)
{
var docSel = document.selection.createRange()
if (docSel.parentElement().tagName != "INPUT") return false
oSel = docSel.duplicate()
oSel.text = ""
var srcRange = obj.createTextRange()
oSel.setEndPoint("StartToStart", srcRange)
var str = oSel.text + inputStr + srcRange.text.substr(oSel.text.length)
return reg.test(str)
}
<INPUT style="WIDTH: 50px;IME-MODE:disabled" value=0 name=flightback min="0" max="99" onKeyPress = "return regInput(this,/^/d*/.?/d{0,2}$/,String.fromCharCode(event.keyCode))"> %
#5
这个新方法不太会用。。。
#6
3楼 ++
#7
用jquery插件,jquery-easyui;结合以下几个验证,楼主基本上只需改动很少量的代码,就可以在系统任意地方做验证输入了,而且对于错误提醒还有很好的提示效果,任何地方的验证只需调用key就ok了。
numberCheck: {
validator: function (value, param) {
return /(^\d+$)/.test(value);
},
message: '请输入数字'
},
floatCheck: {
validator: function (value, param) {
return /(^\d+(\.)(\d+))|(^\d+)$/.test(value);
},
message: '请输入小数'
},
percentCheck: {
validator: function (value, param) {
return /(^\d{1,2}|(\.\d)){1}$/.test(value);
},
message:'请输入精确到1位的百分比,如:22.1'
},
numberCheck: {
validator: function (value, param) {
return /(^\d+$)/.test(value);
},
message: '请输入数字'
},
floatCheck: {
validator: function (value, param) {
return /(^\d+(\.)(\d+))|(^\d+)$/.test(value);
},
message: '请输入小数'
},
percentCheck: {
validator: function (value, param) {
return /(^\d{1,2}|(\.\d)){1}$/.test(value);
},
message:'请输入精确到1位的百分比,如:22.1'
},