Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用正则表达式从textarea中删除字符串_Jquery_Regex - Fatal编程技术网

Jquery 使用正则表达式从textarea中删除字符串

Jquery 使用正则表达式从textarea中删除字符串,jquery,regex,Jquery,Regex,预期产出: var value = $('textarea[name="test"]').val(); value = value.replace(/\[url=(.+?)\](.+?)\[\/url\]/g, ''); value = value.replace(/\[url=(.+?)\]/g, ''); value = value.replace('[url]', ''); value = value.replace('[\/url]', ''); $('textarea[name="te

预期产出:

var value = $('textarea[name="test"]').val();
value = value.replace(/\[url=(.+?)\](.+?)\[\/url\]/g, '');
value = value.replace(/\[url=(.+?)\]/g, '');
value = value.replace('[url]', '');
value = value.replace('[\/url]', '');
$('textarea[name="test"]').val(value);

测试
[img]http://test.com/test.jpg[/img]
测试

这应该能帮你解决问题-只需更换一个正则表达式即可:

<textarea>
  test

  [img]http://test.com/test.jpg[/img]
  test
</textarea>

基本上,正则表达式查找一个以方括号开始的字符串,
[
,该字符串后面可能有或可能没有结束符
/
,但后面跟着
url
,然后它将继续匹配,直到遇到一个
]
,也不在乎它发现了什么。这样,您可以获得以下所有项的匹配项:

  • [url]
  • [/url]
  • [url=http://www.google.com]
  • [url hello world这很好]
    (如果你真的想要:-P)
我在上面提到,您将jQuery中
textarea
字段的名称从“text”更改为“signature”,但从未发布包含第二个textarea的HTML—我刚才在上面的代码中使用了相同的一个--“test”

希望有帮助

<textarea>
  test

  [img]http://test.com/test.jpg[/img]
  test
</textarea>
var value = $('textarea[name="test"]').val();
value = value.replace(/\[\/?url([^\]]+)?\]/g, '');
$('textarea[name="test"]').val(value);