Javascript 检查给定5位数字中的所有5位数字是否相同

Javascript 检查给定5位数字中的所有5位数字是否相同,javascript,angularjs,Javascript,Angularjs,如果给定的5位数字中的所有5位数字都相同,例如11111、22222等,我想显示一个警报。这是我的小提琴,下面是我的代码,它不工作。任何帮助都将不胜感激 <div ng-app="app" ng-controller="test"> <input type="text" ng-model="value"/> <button ng-click=check()>Check</button> </div> angul

如果给定的5位数字中的所有5位数字都相同,例如11111、22222等,我想显示一个警报。这是我的小提琴,下面是我的代码,它不工作。任何帮助都将不胜感激

<div ng-app="app" ng-controller="test">
      <input type="text" ng-model="value"/>
     <button ng-click=check()>Check</button>
 </div>

angular.module('app', [])
  .controller('test', function($scope) {
      $scope.check = function() {
          if(/(\d)\1{2}-\1{3}-\1{4}/.test($scope.value)) {
            alert("Invalid number");      
          }
      }
});

检查
角度.module('app',[])
.controller('test',函数($scope){
$scope.check=函数(){
if(/(\d)\1{2}-\1{3}-\1{4}/.test($scope.value)){
警报(“无效号码”);
}
}
});

这里有一个简单的版本(我对Angular不太熟悉):

var num=44444;
var num2=44445;
函数名称(num){
var arr=字符串(num).split(“”);
return arr.every(函数(el){return el==arr[0];});
}
log(arame(num));

console.log(arame(num2))这里有一个简单的版本(我对Angular不太熟悉):

var num=44444;
var num2=44445;
函数名称(num){
var arr=字符串(num).split(“”);
return arr.every(函数(el){return el==arr[0];});
}
log(arame(num));
console.log(arame(num2))
功能检查(输入){
//将输入转换为字符串
输入+=”;
//仅验证5个字符
如果(input.length!==5){
抛出新错误(“输入不是5位数长”);
}
//验证它是否为数字。
如果(!$.isNumeric(输入)){
抛出新错误(“输入不是数值”);
}
var allSame=true;
var firstChar=输入[0];
//循环寻找不同的东西
对于(变量i=0;i<5;i++){
if(输入[i]!==firstChar){
全部相同=错误;
打破
}
}
一视同仁;
}
功能检查(输入){
//将输入转换为字符串
输入+=”;
//仅验证5个字符
如果(input.length!==5){
抛出新错误(“输入不是5位数长”);
}
//验证它是否为数字。
如果(!$.isNumeric(输入)){
抛出新错误(“输入不是数值”);
}
var allSame=true;
var firstChar=输入[0];
//循环寻找不同的东西
对于(变量i=0;i<5;i++){
if(输入[i]!==firstChar){
全部相同=错误;
打破
}
}
一视同仁;
}

纯JavaScript。假设
number
是一个字符串:

function isAllSameDigit(number){
    for(var i = 0; i < number.length; i++){
        if(number[0] != number[i])
            return false;
    }
    return true;
}
函数isAllSameDigit(数字){
对于(变量i=0;i

一旦发现差异,就会短路。

。假设
number
是一个字符串:

function isAllSameDigit(number){
    for(var i = 0; i < number.length; i++){
        if(number[0] != number[i])
            return false;
    }
    return true;
}
函数isAllSameDigit(数字){
对于(变量i=0;i

一旦发现差异,这将导致短路。

您可以使用以下正则表达式
^([0-9])\1*$

angular.module('app', [])
  .controller('test', function($scope) {
      $scope.check = function() {
          if(/^([0-9])\1*$/.test($scope.value)) {
            alert("Invalid number");      
          }
      }
});

请参阅

您可以使用以下正则表达式([0-9])\1*$

angular.module('app', [])
  .controller('test', function($scope) {
      $scope.check = function() {
          if(/^([0-9])\1*$/.test($scope.value)) {
            alert("Invalid number");      
          }
      }
});

请参见

您的意思是您知道正好存在5个整数,因此我将针对mod11111进行测试。

您的意思是您知道正好存在5个整数,因此我将针对mod11111进行测试。

嘿,您的regx不正确:-

用法:-/^\D*(\D)(?:\D*|\1)*$/.test($scope.value)


小提琴:-

嘿,你的注册表不正确:-

用法:-/^\D*(\D)(?:\D*|\1)*$/.test($scope.value)


小提琴:-

你确定你的正则表达式是正确的吗?请检查ng模式@没有人知道这是不对的。我刚试过。@Matthew有没有办法像我试过的那样用regex来做。是的。ng模式接受正则表达式并更新表单的无效标志。是否确定正则表达式正确?请改为签出ng模式@没有人知道这是不对的。我刚试过。@Matthew有没有办法像我试过的那样用regex来做。是的。ng模式接受正则表达式并更新表单的无效标志。谢谢您的回答。谢谢您的回答。