正则表达式只允许整数和小数

时间:2012-09-18 11:02:21

标签: javascript regex

  

可能重复:
  Simple regular expression for a decimal with a precision of 2?

我想知道正则表达式,它只允许javascript中从0到无穷大的任何长度的整数和十进制数。 任何人都可以帮助我完成这项工作

2 个答案:

答案 0 :(得分:40)

此代码可以:

var str = "1.2"
var regexp = /^[0-9]+([,.][0-9]+)?$/g;
var result = regexp.test(str);
​alert(result);​

其中:

  • str是您要测试的字符串
  • regexp是你正在测试字符串的内容(内置如:/pattern/modifiers
  • 结果是布尔值,如果匹配则为true,否则为

您应该在JavaScript中查看有关RegExp对象的链接:http://www.w3schools.com/jsref/jsref_obj_regexp.asp

关于regexp本身:

  • ^:字符串的开头
  • [0-9]+:至少一位数
  • [,.]:点或逗号
  • [0-9]+:与上述相同
  • (xxxxx)?:括号内的表达式是否存在
  • $:表达式的结尾

如果你想了解更多信息,你还应该查看维基百科页面的regexp。它已经做得很好。

答案 1 :(得分:14)

试试这个

^[\d.]+$

^ - 行开头

[] - 选择数组

\d - 任何数字

. - 点字符

+ - 1或多

$ - 行尾