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

sub*_*ash 13 javascript regex

可能重复:
精度为2的小数的简单正则表达式?

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

Flo*_* F. 43

这段代码可以:

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

哪里:

  • str是您要测试的字符串
  • 正则表达式是什么,你正在测试用字符串(建这样的:/pattern/modifiers)
  • result是一个布尔值,如果匹配则为true,否则为false

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

关于regexp本身:

  • ^ :字符串的开头
  • [0-9]+ :至少一位数
  • [,.] :点或逗号
  • [0-9]+ :和上面一样
  • (xxxxx)? :括号内的表达式可以存在与否
  • $ :结束表达

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

  • 在这里,“ g”是一个regexp修饰符,用于执行全局匹配(查找所有匹配而不是在第一个匹配之后停止)。您可以在此处找到所有修饰符的列表(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp) (2认同)

Ram*_*eya 15

试试这个

^[\d.]+$
Run Code Online (Sandbox Code Playgroud)

^- 开始行

[]- 选择数组

\d- 任何数字

. - 点字符

+ - 1或多

$ - 行结束

  • 这将匹配任意数量的小数...例如:1.1.1.1.1.12 (4认同)