验证输入的文本里只能含有数字,逗号,和一个小数点正则表达式

m_liuqian 2009-06-03 02:43:12
验证输入的文本里只能含有数字,逗号,和一个小数点,并且小数点不能写在逗号的前面,关于金额的

/^(-?\d{1,3})(\d+|(\,{1}\d{3})+)(\.\d+)$ /

这个好象输入不含逗号的小数就会报错
...全文
448 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
m_liuqian 2009-06-04
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 dh20156 的回复:]
引用 11 楼 liumang19882 的回复:
function Money()
{
var price1 = dataForm.Price1.value;
if (price1="")//这样当然不行了,==
{
return;
}
var reg1 = ??
if (reg1.test(price1))
{
alert("OK");
}
else
{
alert("输入金额格式不正确");
}
}

<input name="Price1" style="width:100px;text-align:right" onblur="Money();">

??怎么写呢,试过了好象都不行



这样:

JScr…
[/Quote]

Price1是写在一个form里的,写的dataForm
dh20156 2009-06-03
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 liumang19882 的回复:]
function Money()
{
var price1 = dataForm.Price1.value;
if (price1="")//这样当然不行了,==
{
return;
}
var reg1 = ??
if (reg1.test(price1))
{
alert("OK");
}
else
{
alert("输入金额格式不正确");
}
}

<input name="Price1" style="width:100px;text-align:right" onblur="Money();">

??怎么写呢,试过了好象都不行

[/Quote]

这样:

<input id="price1" name="Price1" style="width:100px;text-align:right" onblur="Money();">

<script type="text/javascript">
function Money(){
var sprice1 = document.getElementById('price1').value;
if (sprice1==""){
return;
}
var reg1 = /^[1-9]\d{0,2}(?:(,\d{3})*|\d*)(?:\.\d*)?$/;
if (reg1.test(sprice1)){
alert("OK");
}else{
alert("输入金额格式不正确");
}
}
</script>
m_liuqian 2009-06-03
  • 打赏
  • 举报
回复
function Money()
{
var price1 = dataForm.Price1.value;
if (price1="")
{
return;
}
var reg1 = ??
if (reg1.test(price1))
{
alert("OK");
}
else
{
alert("输入金额格式不正确");
}
}

<input name="Price1" style="width:100px;text-align:right" onblur="Money();">

??怎么写呢,试过了好象都不行
dh20156 2009-06-03
  • 打赏
  • 举报
回复
忘鸟验证首位:^_^


var bInt = /^[1-9]\d{0,2}(?:(,\d{3})*|\d*)(?:\.\d*)?$/.test('1,234,456.123');
逍遥游007 2009-06-03
  • 打赏
  • 举报
回复
朋友 你试一下这个吧:
<input type="text" onkeyup="value=value.replace(/[^\d{1,}\.\d{1,}|\d{1,}]/g,'')" />
我试了一下只能输入数字、逗号、小数点。
luhongming 2009-06-03
  • 打赏
  • 举报
回复
/^(-?[1-9]\d{0,2})(,\d{3})*(\.\d+)?$/

这个比较严谨一点。
luhongming 2009-06-03
  • 打赏
  • 举报
回复
/^([1-9]\d*)(,\d{3})*(\.\d+)?$/

试试我这个,是否满足要求。
shenzhenNBA 2009-06-03
  • 打赏
  • 举报
回复
这个问题冒似简单...其实蛮多学问的,帮顶
monexus 2009-06-03
  • 打赏
  • 举报
回复
/^\d{1,3}((,\d{1,3})+(\.\d+)?|\.\d+)?$/
dh20156 2009-06-03
  • 打赏
  • 举报
回复

var bInt = /^(\d{1,3},)*\d*(\.\d*)?$/.test('1,234,456.123');
m_liuqian 2009-06-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 natineprince 的回复:]
/^(-?\d{1,3})(\d+|(\,{1}\d{3})*)(\.\d+)$ /
[/Quote]

这个也不行啊T_T
natineprince 2009-06-03
  • 打赏
  • 举报
回复
/^(-?\d{1,3})(\d+|(\,{1}\d{3})*)(\.\d+)$ /

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧