如何让文本框输入的数字是货币型格式? 用JS写一下加个onchanage事件,自己加就是了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这问题我问过别人,给你答案,可以在onkeyup事件中加上function formatNum(s) //将数字转换成三位逗号分隔的样式{ s += ""; if (!/^(\+|-)?\d+(\.\d+)?$/.test(s)) throw(new Error(-1, 'It isn\'t Number!')); var a = s.match(/^(\+|-)?(\d[^\.]+)(\.\d+)?$/), b = a[2], c=""; for (var i=b.length-3; i>-3; i=i-3) c = ","+ b.substring(i, i+3) + c; return(a[1] + c.substr(1) + a[3]);}alert(formatNum(-12345678.123));alert(formatNum("12345678.123")); szpqq(Gavin):你这个方法有错误啊,调用时参数s写什么? 参数s应该是obj.value,就是你的数字域的值. <html><head><meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"><title>test</title><script language="JavaScript" type="text/JavaScript">function formatNum(s){ s += ""; if (!/^(\+|-)?\d+(\.\d+)?$/.test(s)) { alert("It isn't Number!"); } var a = s.match(/^(\+|-)?(\d[^\.]+)(\.\d+)?$/); //alert(a); if (s != null && s.length > 3) { var b = a[2]; var c=""; for (var i=b.length-3; i>-3; i=i-3) { c = ","+ b.substring(i, i+3) + c; } return(a[1] + c.substr(1) + a[3]); } else { return s; }}function replaceStr(str, sFnd, sRep) { var sTmp = ""; var endIndex = 0; var beginIndex = 0; var len = sFnd.length; while (endIndex >= 0) { endIndex = str.indexOf(sFnd ,beginIndex); if (endIndex >= 0) { sTmp += str.substring(beginIndex, endIndex) + sRep; beginIndex = endIndex + len; } else if (beginIndex >= 0) { sTmp += str.substring(beginIndex); break; } } return sTmp;}function replaceCommas(str) { if (str == "") { return str; } str = replaceStr(str, ",", ""); return str;}function checkNumber() { var str = replaceCommas(document.all.convertStr.value); document.all.convertStr.value = formatNum(str);}</script></head><body><table> <tr> <td width="50%" align="right">input string:</td> <td width="50%" align="left"><input type="text" name="convertStr" id="convertStr" size="50" onkeyup="checkNumber()"></td> <tr></table> </body></html> js里写onkeypress事件function formatNum(s){ s += ""; if (!/^(\+|-)?\d+(\.\d+)?$/.test(s)) throw(new Error(-1, 'It isn\'t Number!')); var a = s.match(/^(\+|-)?(\d[^\.]+)(\.\d+)?$/), b = a[2], c=""; for (var i=b.length-3; i>-3; i=i-3) c = ","+ b.substring(i, i+3) + c; return(a[1] + c.substr(1) + a[3]);}alert(formatNum(-12345678.123));alert(formatNum("12345678.123")); 用js价格的表达式验证 bb = /^(0|[1-9]\d*)(\.\d{1,2})?$/; value.search(bb) == -1 Jsp调用Java类方法为什么会无效? 程序中所有的页面跳转都无法实现 求助 struts标签中property属性中不能使用java变量的问题(高手请进) apache负载均衡时如何根据IP段分配指定Tomcat处理? web STRUTS JAVA 视频下载地址?? 连接数据库出现问题,望高手赐教,多谢!! 求助,在线等 Struts 调试错误 !!急!!求救? 请高手帮助:java操作excel的问题 easy问题?apache无法启动 请教关于字段约束的问题(50分相送,不够再加~~) 单例模式下面的问题??据说是很一般的问题。。
{
s += "";
if (!/^(\+|-)?\d+(\.\d+)?$/.test(s)) throw(new Error(-1, 'It isn\'t Number!'));
var a = s.match(/^(\+|-)?(\d[^\.]+)(\.\d+)?$/), b = a[2], c="";
for (var i=b.length-3; i>-3; i=i-3) c = ","+ b.substring(i, i+3) + c;
return(a[1] + c.substr(1) + a[3]);
}
alert(formatNum(-12345678.123));
alert(formatNum("12345678.123"));
你这个方法有错误啊,调用时参数s写什么?
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>test</title>
<script language="JavaScript" type="text/JavaScript">
function formatNum(s)
{
s += "";
if (!/^(\+|-)?\d+(\.\d+)?$/.test(s)) {
alert("It isn't Number!");
}
var a = s.match(/^(\+|-)?(\d[^\.]+)(\.\d+)?$/);
//alert(a);
if (s != null && s.length > 3) {
var b = a[2];
var c="";
for (var i=b.length-3; i>-3; i=i-3) {
c = ","+ b.substring(i, i+3) + c;
}
return(a[1] + c.substr(1) + a[3]);
} else {
return s;
}}function replaceStr(str, sFnd, sRep) {
var sTmp = "";
var endIndex = 0;
var beginIndex = 0;
var len = sFnd.length;
while (endIndex >= 0) {
endIndex = str.indexOf(sFnd ,beginIndex);
if (endIndex >= 0) {
sTmp += str.substring(beginIndex, endIndex) + sRep;
beginIndex = endIndex + len;
}
else if (beginIndex >= 0) {
sTmp += str.substring(beginIndex);
break;
}
}
return sTmp;
}function replaceCommas(str) {
if (str == "") {
return str;
}
str = replaceStr(str, ",", "");
return str;
}function checkNumber() {
var str = replaceCommas(document.all.convertStr.value);
document.all.convertStr.value = formatNum(str);
}
</script>
</head>
<body>
<table>
<tr>
<td width="50%" align="right">input string:</td>
<td width="50%" align="left"><input type="text" name="convertStr" id="convertStr" size="50" onkeyup="checkNumber()"></td>
<tr>
</table>
</body>
</html>
{
s += "";
if (!/^(\+|-)?\d+(\.\d+)?$/.test(s)) throw(new Error(-1, 'It isn\'t Number!'));
var a = s.match(/^(\+|-)?(\d[^\.]+)(\.\d+)?$/), b = a[2], c="";
for (var i=b.length-3; i>-3; i=i-3) c = ","+ b.substring(i, i+3) + c;
return(a[1] + c.substr(1) + a[3]);
}
alert(formatNum(-12345678.123));
alert(formatNum("12345678.123"));
价格的表达式验证
bb = /^(0|[1-9]\d*)(\.\d{1,2})?$/;
value.search(bb) == -1