如何使用正则表达式从textarea获取IP值

Dec*_*ard 5 javascript regex jquery

这是textarea.(IPv4,Domain)

96.17.109.65 fox.com
Run Code Online (Sandbox Code Playgroud)

我想将IP值改为另一个.像这样,

74.125.71.106 fox.com
Run Code Online (Sandbox Code Playgroud)

我猜它会是这样的

$('textarea').find('some regular expressions..').val('another one...');
Run Code Online (Sandbox Code Playgroud)

请帮我.我只是想学习正则表达式..谢谢.

jwu*_*ler 4

使用正则表达式匹配 IP 地址并不像听起来那么容易。有两种方法可用:

简单,但可能导致误报:

\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
Run Code Online (Sandbox Code Playgroud)

复杂,但总是正确的:

\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b
Run Code Online (Sandbox Code Playgroud)

如果你想替换它,你将需要这样的东西(使用简单的 RegExp 作为示例):

var textarea = $('textarea');
textarea.val(textarea.val().replace(/\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b/g, '74.125.71.106'));
Run Code Online (Sandbox Code Playgroud)