jquery 怎么用正则提取字符串里面的内容?

如题:jquery代码,比如:vara="文字:123,文字:234,文字:345,文字:456。文字:567?文字中文:123?";html代码:<ul><li>文字:... 如题:
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什么方法来搞定啊?帮个忙哟
展开
 我来答
zwjtk
2017-11-17 · TA获得超过1741个赞
知道小有建树答主
回答量:300
采纳率:82%
帮助的人:204万
展开全部

你好,

这个问题其实也简单,但不知道是不是你要的效果:

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);

看看,这些里面就没有“中文”了。

敖元化Z1
2017-11-17 · 超过13用户采纳过TA的回答
知道答主
回答量:40
采纳率:75%
帮助的人:18.7万
展开全部
js我不怎么会,按我的理解,比较笨的办法:

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来做的话,不好处理吧?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式