JSFiddle - React, Tailwind, and code Playground
by Andre Figueiredo
HTML
<table>
<thead>
<tr>
<th>Case</th>
<th>Expected</th>
<th>contains (RegEx)</th>
<th>contains (split)</th>
<th>contains (split Compatib)</th>
<th>indexOf</th>
<th>accepted</th>
</tr>
</thead>
<tbody>
<tr><td>hello1234hello</td><td>false</td></tr>
<tr><td>hello 1234hello</td><td>false</td></tr>
<tr><td>hello01234 hello</td><td>false</td></tr>
<tr><td>hello 1234 hello</td><td>true</td></tr>
<tr><td>1234hello</td><td>false</td></tr>
<tr><td>hello1234</td><td>false</td></tr>
<tr><td>1234 hello</td><td>true</td></tr>
<tr><td>hello 1234</td><td>true</td></tr>
<tr><td> </td><td>false</td></tr>
<tr><td>hello 1234</td><td>true</td></tr>
<tr><td>1234 </td><td>true</td></tr>
<tr><td> 1234 </td><td>true</td></tr>
</tbody>
</table>
CSS
table {
border-collapse: collapse;
font-family: arial;
}
th, td {
border: 1px solid #ccc;
padding: 2px 10px;
text-align: left;
}
.false { color: #f00; }
.true { color: #00f; }
JavaScript
$(document).ready(function(){
$('tbody').children().each(function(i, element){
var tr = $(this);
var tds = tr.children();
var testCase = tds.eq(0).text();
var newTRs = '';
newTRs += "<td>" + containsRegEx(testCase, '1234') + "</td>";
newTRs += "<td>" + containsSplit(testCase, '1234') + "</td>";
newTRs += "<td>" + containsSplitCompatib(testCase, '1234') + "</td>";
newTRs += "<td>" + indexOf(tds[0], '1234') + "</td>";
newTRs += "<td>" + accepted(testCase, '1234') + "</td>";
tr.append(newTRs);
});
var tds = $('td');
tds.filter(':contains("false")').addClass('false');
tds.filter(':contains("true")').addClass('true');
});
//
function containsRegEx(value, searchString){
return (new RegExp("\\b" + searchString + "\\b")).test(value);
}
function containsSplit(value, searchString){
return value.split(/\s+/g).indexOf(searchString) > -1;
}
function containsSplitCompatib(value, searchString){
var splitted = value.split(/\s+/g);
for (var i = 0; i < splitted.length; i++){
if (splitted[i] === searchString){
return true;
}
}
return false;
}
function indexOf(element, searchString){
console.log('" ' + element.textContent + ' " == " ' + searchString + ' " : ' + ((' ' + element.textContent + ' ').indexOf(' ' + searchString + ' ') != -1).toString());
return (' ' + element.textContent + ' ').indexOf(' ' + searchString + ' ') != -1;
}
function accepted(value, searchString){
return value.indexOf(searchString) != 1;
}