0到100之间百分比的javascript正则表达式

标签 javascript .net regex asp.net-2.0

<分区>

Possible Duplicate:
Javascript percentage validation

我只想允许 0.00 到 100.00。

function ValidateText(i)
    {

        if(i.value.length>0)
        {
         i.value = i.value.replace(/[^\d.d]+/g, '');

        }
    }
<asp:textbox id="txtrate" runat="server" Width="200px"  onkeyup= "javascript:ValidateText(this)"></asp:textbox>

它允许 0-9.0-9。请帮帮我。谢谢

最佳答案

现在这是一些热门问题!

应该这样做:

function validate(s) {
  return s.match(/^(100(\.0{1,2})?|[1-9]?\d(\.\d{1,2})?)$/) != null;
}

var test = [
  '3.0',
  '5',
  '99.99',
  '100',
  '100.00',
  '100.01',
  '101',
  '0.3',
  '.5',
  '0.567',
];

for (i=0; i<test.length; ++i) {
  WScript.StdOut.WriteLine(test[i] + ' => ' + validate(test[i]));
}

输出:

3.0 => true
5 => true
99.99 => true
100 => true
100.00 => true
100.01 => false
101 => false
0.3 => true
.5 => false
0.567 => false

编辑正则表达式可以缩短一点而不改变其含义,归功于6502

/^(100(\.00?)?|[1-9]?\d(\.\d\d?)?)$/

关于0到100之间百分比的javascript正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6593017/

相关文章:

javascript - 如何在 promise 链中传递变量?

javascript - 双击选择动态添加的 H1 中的文本,如何停止此操作?

c# - 如何在 C# 中执行 SHA1 文件校验和?

r - 如何在 R 中提取与正则表达式 (regexpr) 索引相关的文本

javascript - 无法在 aptana studio 中运行 "canvas"标记和 javascript 程序

javascript - 在滚动条上将导航文本旋转 45 度

.net - CLR 类内存布局

c# - 从 Windows 服务创建交互式提升进程并显示给登录用户

java - 如何解析可以包含转义双引号的双引号分隔字符串

javascript - 正则表达式中的问题