jquery 怎么用正则提取字符串里面的内容?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery 怎么用正则提取字符串里面的内容?相关的知识,希望对你有一定的参考价值。
如题:
jquery 代码,比如:var a = "文字:123,文字:234,文字:345,文字:456。文字:567?文字中文:123?";
html代码:
<ul>
<li>文字:123</li>
<li>文字:234</li>
<li>文字:345</li>
<li>文字:456</li>
<li>文字:567</li>
<li>文字:123</li>
</ul>
这样的用jquery什么方法来处理呢?
li里面的内容只能是a变量里面的内容,不能自己定义或者用字符串追加上去,用jquery什么方法来搞定啊?帮个忙哟
你好,
这个问题其实也简单,但不知道是不是你要的效果:
var a = "文字:123,文字:234,文字:345,文字:456。文字:567?文字中文:123?";var arr = a.split(/,|。|?/); // ["文字:123", "文字:234", "文字:345", "文字:456", "文字:567", "文字中文:123", ""]
var rs = '<ul>';
$.each(arr, function(idx, item)
// 非空验证
if (item)
rs += '<li>' + item + '</li>';
);
rs += '</ul>';
console.log(rs); // <ul><li>文字:123</li><li>文字:234</li><li>文字:345</li><li>文字:456</li><li>文字:567</li><li>文字中文:123</li></ul>
这样得到的rs就是你上面的结果。如有疑问可追问。
追问恩,非常感谢!
这就是我要的效果,可是想把”中文“这两个也去掉呢?是不是在split方法里面写上,比如 var arr = a.split(/,|。|?|中文/);?
另外,如果js里面有很多类似这样的呢?大概有20多个这样的变量吧。都是从富文本框里面用match方法查找出来的,都是字符串。
这样的,该怎么处理,总不可能每个都单独去定义和处理吧?有没有好的方法?
去掉中文就不在正则里面处理了,修改下代码如下:
var a = "文字:123,文字:234,文字:345,文字:456。文字:567?文字中文:123?";var arr = a.split(/,|。|?/);
var rs = '<ul>';
$.each(arr, function(idx, item)
// 非空验证
if (item)
rs += '<li>' + item.replace(/中文/g, '') + '</li>';
);
rs += '</ul>';
console.log(rs);
看看,这些里面就没有“中文”了。
追问你好,有20多个这样的变量,每个变量里面的值都不一样,打个比方:
var b = '中文:123,中文好:234。中文你好:345?';
var c = '数字:123,数字好:234。数字你好:345?';
var d = '看我:123,看我好:234。看我你好:345?';
var e = '例子:123,例子好:234。例子你好:345?';
....
这样的该怎么处理?是不是用for循环来处理啊?
var a = "文字:123,文字:234,文字:345,文字:456,文字:567";
var arr =a.split(',');
console.log(arr);
for(var i in arr)
alert(arr[i])
$("ul ").append("<li>"+arr[i]+"</li>"); //可以给ul加个id把li的内容都append进去
追问
非常感谢!
如果用for(var i in arr)方法来做的话,有个不好的问题,因为页面有很多这样的变量,用for来做的话,不好处理吧?
PHP正则提取字符串
字符串
$str = "中文abcd123$1,2,3,4,5.jpg";
要求只提取中的内容,
不要只是这个字符串的哦,
要求其它同格式的字符串也能适用。
能不能不要那个大
只要里面的内容?
<?php
$str = '中文abcd123$1,2,3,4,5.jpg[123123]444<44g>44.124(j)12g4';
$search ='/[(\[<](.*?)[)\]>]/';
preg_match_all($search,$str,$r);
print_r($r[1]);
?>本回答被提问者采纳 参考技术B 下面这个例子和你的相似 ,直接套用就行
<script>
window.onload=function ()
var s="/?type=22?ee=33";
//lastIndexOf 这是最后一次出现?的位置
//indexOf 这是第一次出现?的位置
var dd=s.substr(s.lastIndexOf('?'));
alert(dd);
</script>追问
我问得是PHP,
还有是 正则。。。。
这个函数完全可以实现你的那个功能,没必要非得用php或是正则, 如果是在非得用的话 你就用php的 函数实现吧 先找到的位置 然后找到的位置 最后通过截取这两个位置之间的恭喜
追问没办法,我还就得用PHP的。
你说的原理我也知道。
但要能做才行吖。
preg_match("/\.+\/", $str,$sub);
print_r($sub); 参考技术D 本地测试无误:
$str = '中文abcd123$1,2,3,4,5.jpg';
preg_match('/\(.*)\/',$str,$m);
echo $m[1]; 第5个回答 2012-04-26 \[^\]*\追问
你这个好像不行吖。。。
我在在线测试那里过不了
以上是关于jquery 怎么用正则提取字符串里面的内容?的主要内容,如果未能解决你的问题,请参考以下文章