我有这个代码,它需要根据你给它的字符串返回true或false。 这是它不起作用的唯一例子。如何检查字符串的特定索引中是否存在括号?
function telephoneCheck(str) {
var newStr = str.replace(/-/g,'').replace(/ /g,'').replace(/\(|\)/g,'');
var valid = true;
var re = /\([^()]*\)/g;
while (str.match(re))
str = str.replace(re, '');
if (str.match(/[()]/)){
valid = false;
}
if(newStr.length === 10 && valid === true && str.indexOf()){
return true;
}else if(newStr.length === 11 && str[0] != "-" && newStr[0] == 1 && valid === true){
return true;
}else{
return false;
}
}
telephoneCheck("(6505552368)");
答案 0 :(得分:0)
根据您的代码,我认为您可能正在寻找类似的内容:
'(6505552368)'.replace(/^\((\d+)\)$/, '$1');
RegExp中的^
和$
将匹配字符串的开头和结尾。 \d+
将匹配一个或多个数字。额外的括号形成一个捕获组,然后在替换中用作$1
。
使用RegExps做更多的工作可能会更好,而不是做所有的更换,但不知道确切的要求,很难更精确。我强烈建议您更多地了解RegExp语法。
如果您只是想知道特定索引中是否存在'括号,那么您可以使用:
str.charAt(index) === '(';
答案 1 :(得分:0)
检查字符串中特定索引是否有括号:
<div class="row">
<div class="col-md-12 board">
<!-- <h2>Welcome to IGHALO!<sup>™</sup></h2>-->
<div class="board-inner">
<ul class="nav nav-tabs" id="myTab">
<div class="liner"></div>
<li class="active">
<a href="#" aria-controls="home" id="DivPatientDetails" name="PatientDetails" >
<span class="round-tabs one">
<i class="icon icon-profile-male"></i>01
</span>
</a>
</li>
<li>
<a href="#" aria-controls="profile" id="DivPatientEligibility" name="PatientEligibility" class="disabled">
<span class="round-tabs two">
<i class="icon icon-pencil"></i>02
</span>
</a>
</li>
<li>
<a href="#" aria-controls="prototyping" id="DivPatientDeclaration" name="PatientDeclaration" class="disabled">
<span class="round-tabs three">
<i class="icon icon-layers"></i>03
</span>
</a>
</li>
</ul>
</div>
</div>
检查字符串中是否有任何括号:
/[()]/.test(str[index])
如果您想测试特定的括号类型(例如,打开但不关闭),请从正则表达式中删除另一个(例如,关闭)。