如果给定的字符串只有一个特定的字符,但是该字符的出现次数,我想返回true。例如:
// checking for 's'
'ssssss' -> true
'sss s' -> false
'so' -> false
答案 0 :(得分:7)
检查
<div class="container">
<form action="javascript:;" method="post" class="form-inline" id="form">
<input type="text" id="message" class="input-medium" placeholder="Message" value="Hello, world!" />
<button type="button" class="btn" data-action="insert">Show</button>
</form>
</div>
的JavaScript
var onloading = (function () {
$('body').on('click', ':button', function () {
var a = document.getElementById("message").value;
var hasS = new RegExp("^[s\s]+$").test(a);
alert(hasS);
});
}());
答案 1 :(得分:2)
检查是否有空格和"s"
以外的其他内容并反转布尔值
var look = "s";
if(!new RegExp("[^\s" + look + "]").test(str)){
// valid
}
或检查他们是否是唯一一个使用字符类和锚点^
和$
var look = "s";
if(new RegExp("^[\s" + look + "]$").test(str)){
// valid
}
答案 2 :(得分:0)
首先,使用split将字符串转换为数组,
const letters ='string'.split('')
然后,使用Set数据结构并将数组作为参数传递给构造方法。 Set将只有唯一的值。
const unique = new Set(letters)
此唯一字符将只有唯一字符,因此,当您传递sss
时,它将只有一个s
。
最后,如果唯一数组仅包含一个元素,那么我们可以说该字符串仅包含相同的字母。
if (unique.size() === 1) { // the string contains only the same letters}
您的函数应如下所示,
function isIdentile(string) {
const letters = string.split('');
const unique = new Set(letters)
return unique.size() === 1 ? true: false;
}
答案 3 :(得分:0)
用sssssnake做
'sss'.split('s').some(s => s) === true
'sssnake'.split('s').some(s => s) === false