开发者

How to tell if all characters in a string are same

开发者 https://www.devze.com 2023-03-18 16:58 出处:网络
I want to know if all characters in a string are same. I am using it for a Password so that i tell the user that your password is very obvious.

I want to know if all characters in a string are same. I am using it for a Password so that i tell the user that your password is very obvious. I have crated this

$(function(){
    $('#text_box').开发者_开发技巧keypress(function(){
        var pass = $("#text_box").val();
        if(pass.length<7)
            $("#text_box_span").html('password must be atleast 6 characters');
        else
            $("#text_box_span").html('Good Password');
    });
});

How can I achieve the same characters?


/^(.)\1+$/.test(pw) // true when "aaaa", false when "aaab".

Captures the first character using regex, then backreferences it (\1) checking if it's been repeated.

Here is the fiddle that Brad Christie posted in the comments


This would also work: http://jsfiddle.net/mazzzzz/SVet6/

function SingleCharacterString (str)
{
    var Fletter = str.substr(0, 1);
    return (str.replace(new RegExp(Fletter, 'g'), "").length == 0); //Remove all letters that are the first letters, if they are all the same, no letters will remain
}

In your code:

$(function(){
    $('#text_box').keypress(function(){
        var pass = $("#text_box").val();
        if(pass.length<7)
            $("#text_box_span").html('password must be atleast 6 characters');
        else if (SingleCharacterString(pass))
            $("#text_box_span").html('Very Obvious.');
        else
            $("#text_box_span").html('Good Password');
    });
});


I wrote in pure javascript:

 var pass = "112345"; 
    var obvious = false; 

    if(pass.length < 7) { 
       alert("password must be atleast 6 characters");
    } else { 

    for(tmp = pass.split(''),x = 0,len = tmp.length; x < len; x++) {
        if(tmp[x] == tmp[x + 1]) {
           obvious = true; 
        }
    }

    if(obvious) { 
       alert("your password is very obvious.");
    } else { 
      alert("Good Password");
    }
    }


Simple one-liner:

str.split('').every((char) => char === str[0]);


This one allows you to also specify a particular character to check for. For example, are all characters the letter 'Z'?

function same(str,char){
    var i = str.length;
    while (i--) {
        if (str[i]!==char){
            return false;
        }
    }
    return true;
}
// same('zzza','z'); returns false
0

精彩评论

暂无评论...
验证码 换一张
取 消