![](/img/trans.png)
[英]How to tell if a string contains a certain character in JavaScript?
[英]Javascript check if string contains only certain character
如果给定字符串只有某个字符但该字符出现任意次数,我想返回 true。
例子:
// checking for 's'
'ssssss' -> true
'sss s' -> false
'so' -> false
检查这个
<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);
});
}());
只需检查是否存在除空格和"s"
以外的任何内容并反转布尔值
var look = "s";
if(!new RegExp("[^\s" + look + "]").test(str)){
// valid
}
或者检查它们是否是唯一一个使用字符类和锚点^
和$
var look = "s";
if(new RegExp("^[\s" + look + "]$").test(str)){
// valid
}
首先,使用split将字符串转换为数组,
const letters ='string'.split('')
然后,使用Set数据结构并将数组作为参数传递给构造函数。 Set 将只有唯一值。
const unique = new Set(letters)
这个 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;
}
用 ssssnake 来做
'sss'.split('s').some(s => s) === true
'sssnake'.split('s').some(s => s) === false
使用正则表达式:
const allOne = str => /^(.)\1*$/.test(str) console.log(allOne(prompt("input")))
正则表达式的解释:
^(.)\1*$ full RegEx
^ start of line
(.) any character, stored in group 1
\1* repeat group 1 zero or more times
$ end of line
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.