[英]How to check if the elements of an array are identical in javascript (more than 2 elements)
我試圖確保電話號碼不是所有相同的字符,例如1111111111我正在使用的代碼可以工作,但是必須有一種更簡潔的方法。 我試過循環,但是一次只比較兩個連續的字符。 這就是我現在正在使用的:
if (MainPhone.value != "")
{
if ((MainPhone.value == 1111111111) || (MainPhone.value == 2222222222) || (MainPhone.value == 3333333333) || (MainPhone.value == 4444444444) || (MainPhone.value == 5555555555) || (MainPhone.value == 6666666666) || (MainPhone.value == 7777777777) || (MainPhone.value == 8888888888) || (MainPhone.value == 9999999999) || (MainPhone.value == 0000000000))
{
window.alert("Phone Number is Invalid");
MainPhone.focus();
return false;
}
}
我發現此建議是針對其他人的問題,但未能成功。
var dup = MainPhone.value.split('');
if all(dup == dup(1))
我會嘗試這樣的事情:
var phone = '11111211';
var digits = phone.split('').sort();
var test = digits[0] == digits[digits.length - 1];
只需對數組排序並比較第一個和最后一個元素。
您可以使用像這樣的正則表達式來檢查所有字符是否相同:
^(.)\1*$
例:
var phone = '11111111';
if (/^(.)\1*$/.test(phone)) {
alert('All the same.');
}
演示: http : //jsfiddle.net/Guffa/3V5en/
正則表達式的說明:
^ = matches start of the string
(.) = captures one character
\1 = matches the first capture
* = zero or more times
$ = matches end of the string
因此,它將捕獲第一個字符,並在其余字符相同的情況下匹配其余字符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.