【问题标题】:How to get IP value from textarea with regular expression如何使用正则表达式从 textarea 获取 IP 值
【发布时间】:2011-05-20 08:42:56
【问题描述】:

这是一个文本区域。(IPv4,域)

96.17.109.65 fox.com

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

74.125.71.106 fox.com

我猜会是这样的

$('textarea').find('some regular expressions..').val('another one...');

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

【问题讨论】:

    标签: javascript jquery regex


    【解决方案1】:

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

    简单,但可能导致误报:

    \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
    

    复杂,但始终正确:

    \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
    

    如果你想替换它,你需要这样的东西(以简单的 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'));
    

    【讨论】:

      【解决方案2】:

      这使用一个基本的正则表达式来查找 ip 和域之间的分隔符,它不会验证但它应该确实需要你需要:

      var newIP = '74.125.71.106';
      var $t = $('textarea');
      $t.val($t.val().replace(/^([^\s]+)/mg, newIP + ' '));
      

      【讨论】:

      • 谢谢!这正是我想要的。一个非常简单的答案,但效果很好!
      猜你喜欢
      • 2019-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多