测试一个段落里面是否含有数字

最近做一个检测用户输入产品介绍的一个详情页面,在用户点击添加产品的时候,输入产品的名称,价格以及详情等等,其实比较复杂的是那个详情的处理,因为它是一个textarea框,所以需要检测用户的输入,当然规定了输入的格式,textarea框的旁边有一个预览按钮,预览现阶段添加完一些参数后的产品详情页面,

界面如下:

输入详情点击预览后界面如下:

在这里如果只是输入单行或者是一坨字符串好说,但是如果用户按照给定的格式输进去后,需要区别出哪个是标题,哪个是内容,函数如下:

$('#preview').on('click',() => {
var str = $('#detail').val().replace(/ /g,'<br/>');
transContent('#fontIntro',str)
});

这里只展示text area框的逻辑内容,下面是具体处理显示格式化的函数:

function transContent(parent,str) {
var strArr = str.split('<br/>');
if(strArr.length == 1) {
$(parent).html(str);
}else {
if($(parent)[0].nodeName == 'TEXTAREA') {
var str = '';
for(var i=0; i<strArr.length; i++) {
str += strArr[i] + ' ';
};
$(parent).html(str)
}else {
for(var i=0; i<strArr.length; i++) {
if(i == 0) {
strArr[i] = '<p style="font-weight:700;font-size:16px;">' + strArr[i] + '</p>'
}else {
if(/^d+(?=D)/g.exec(strArr[i])) {
strArr[i] = '<p style="font-weight:700;font-size:16px;">' + strArr[i] + '</p>'
}else {
strArr[i] = '<p>' + strArr[i] + '</p>'
}
};
};
strArr.join('');
$(parent).html(strArr);
};
};
}

/其中^d+(?=D)/g.exec(strArr[i])正则是用来判断每一行中是否含有数字,用来作为醒目的标题显示,并给与打黑粗体和大的字号

原文地址:https://www.cnblogs.com/shenwh/p/10164743.html