如果一个给定的字符串只有一个特定的字符,但是这个字符出现了任意次,我想返回true。示例:
// checking for 's' 'ssssss' -> true 'sss s' -> false 'so' -> false
7ivaypg91#
你看看这个
<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); }); }());
示例http://jsfiddle.net/kXLv5/40/
oknwwptz2#
只需检查除空格和"s"之外是否还有其他内容,然后反转布尔值
"s"
var look = "s"; if(!new RegExp("[^\s" + look + "]").test(str)){ // valid }
或者检查它们是否是使用字符类和锚点^和$时唯一存在的
^
$
var look = "s"; if(new RegExp("^[\s" + look + "]$").test(str)){ // valid }
nc1teljy3#
用sssssnake做
'sss'.split('s').some(s => s) === true 'sssnake'.split('s').some(s => s) === false
dluptydi4#
首先,使用split将字符串转换为数组,
const letters ='string'.split('')
然后,使用Set数据结构并将数组作为参数传递给构造器。Set将只有唯一的值。
const unique = new Set(letters)
这个unique将只有unique字符,所以,当你传递sss时,它将只有一个s。最后,如果unique数组只包含一个元素,那么我们可以说这个字符串只包含相同的字母。
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; }
pw136qt25#
使用RegEx:
const allOne = str => /^(.)\1*$/.test(str) console.log(allOne(prompt("input")))
RegEx的解释:
^(.)\1*$ full RegEx ^ start of line (.) any character, stored in group 1 \1* repeat group 1 zero or more times $ end of line
xu3bshqb6#
为此使用Set + Array,另外检查""空字符串边缘情况:
Set
Array
""
const hasOnlyGivenCharType = (str, char) => { const chars = Array.from(new Set(str)) return !chars.some(c => c !== char) && !!chars.length } console.log(hasOnlyGivenCharType('ssssss', 's')) // -> true console.log(hasOnlyGivenCharType('sss s', 's')) // -> false console.log(hasOnlyGivenCharType('so', 's')) // -> false console.log(hasOnlyGivenCharType('', 's')) // -> false
6条答案
按热度按时间7ivaypg91#
你看看这个
JavaScript语言
示例http://jsfiddle.net/kXLv5/40/
oknwwptz2#
只需检查除空格和
"s"
之外是否还有其他内容,然后反转布尔值或者检查它们是否是使用字符类和锚点
^
和$
时唯一存在的nc1teljy3#
用sssssnake做
dluptydi4#
首先,使用split将字符串转换为数组,
然后,使用Set数据结构并将数组作为参数传递给构造器。Set将只有唯一的值。
这个unique将只有unique字符,所以,当你传递
sss
时,它将只有一个s
。最后,如果unique数组只包含一个元素,那么我们可以说这个字符串只包含相同的字母。
函数应该如下所示,
pw136qt25#
使用RegEx:
RegEx的解释:
xu3bshqb6#
为此使用
Set
+Array
,另外检查""
空字符串边缘情况: