正则表达式[任意数字]

Sha*_*eKm 30 javascript regex jquery

我需要在javascript中测试字符串中的"[any number]".我怎么配它呢?

哦,"["和"]"也需要匹配.

所以像"[1]"或"[12345]"这样的字符串是匹配的.

不匹配:"[23432"或"1]"

例如:

$('.form .section .parent').find('input.text').each(function(index){
      $(this).attr("name", $(this).attr("name").replace("[current]", "['"+index+"']"));
});
Run Code Online (Sandbox Code Playgroud)

我需要将输入字段名称替换为:"items [0] .firstname"改为"items [1] .firstname"谢谢

aor*_*sik 58

更新:为您更新的问题

variable.match(/\[[0-9]+\]/);
Run Code Online (Sandbox Code Playgroud)

试试这个:

variable.match(/[0-9]+/);    // for unsigned integers
variable.match(/[-0-9]+/);   // for signed integers
variable.match(/[-.0-9]+/);  // for signed float numbers
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!


mor*_*rja 5

if("123".search(/^\d+$/) >= 0){
   // its a number
}
Run Code Online (Sandbox Code Playgroud)


小智 5

我总是使用以下正则表达式来检测字符串中的任何类型的数字。到目前为止没有任何问题。

'(([\+\-]*\d*\.*\d+[eE])?([\+\-]*\d*\.*\d+))'
Run Code Online (Sandbox Code Playgroud)

详细地:

'([\+\-]*\d*\.*\d+)'
Run Code Online (Sandbox Code Playgroud)

将(非)十进制数与(out)前导数字或符号相匹配

'([\+\-]*\d*\.*\d+[eE])?'
Run Code Online (Sandbox Code Playgroud)

匹配数字之前的指数底数。

如果所需的周围有括号,您可以将它们添加在括号的内部或外部:

'(\[([\+\-]*\d*\.*\d+[eE])?([\+\-]*\d*\.*\d+)\])'
Run Code Online (Sandbox Code Playgroud)

事实上,周围的括号不是必需的,但我保留它们是为了更容易地将表达式与其他表达式连接起来。