Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript username'的正则表达式是什么;不是根_Javascript_Regex_Angularjs - Fatal编程技术网

Javascript username'的正则表达式是什么;不是根

Javascript username'的正则表达式是什么;不是根,javascript,regex,angularjs,Javascript,Regex,Angularjs,我试过的 ^((?!root).)*$ 结果 root无效用户名 admin有效用户名 rootwee无效用户名(该用户名应有效) root123无效用户名(该用户名应有效) 我试图从regex中删除,但它不起作用 你能帮个忙吗 您的正则表达式具有一个不允许在整个输入中使用某个子字符串的标记。因此,“rootwee”和“root123”无效 你可以用 /^(?!root$)/ 看 锚定的前瞻(?!root$)确保整个输入不等于root,但字符串本身可以包含root 注意,当使用文本正则表

我试过的

^((?!root).)*$
结果

  • root
    无效用户名
  • admin
    有效用户名
  • rootwee
    无效用户名(该用户名应有效)
  • root123
    无效用户名(该用户名应有效)
我试图从
regex
中删除
,但它不起作用


你能帮个忙吗

您的正则表达式具有一个不允许在整个输入中使用某个子字符串的标记。因此,“rootwee”和“root123”无效

你可以用

/^(?!root$)/

锚定的前瞻
(?!root$)
确保整个输入不等于
root
,但字符串本身可以包含
root

注意,当使用文本正则表达式声明时,我们不需要匹配整个输入字符串

下面是一个演示片段:

函数formCtrl($scope){
$scope.onSubmit=function(){
警报(“提交的表格”);
}
}

无效!
此字段必填!

您的正则表达式具有一个不允许在整个输入中使用某个子字符串的标记。因此,“rootwee”和“root123”无效

你可以用

/^(?!root$)/

锚定的前瞻
(?!root$)
确保整个输入不等于
root
,但字符串本身可以包含
root

注意,当使用文本正则表达式声明时,我们不需要匹配整个输入字符串

下面是一个演示片段:

函数formCtrl($scope){
$scope.onSubmit=function(){
警报(“提交的表格”);
}
}

无效!
此字段必填!

为什么使用正则表达式?为什么不仅仅是
username===“root”
?我们可以,但我在angular js中使用ng模式,因此提交按钮启用和错误消息可以轻松处理为什么正则表达式?为什么不仅仅是
username===“root”
?我们可以,但我在angular js中使用ng模式,因此提交按钮启用和错误消息可以轻松处理好奇心的减少,如果
^(?!root$)
足以“不匹配”该单词,而没有其他内容,那么最后额外的
$
有什么用?@RavindharKonka是的,它可以工作,这就是为什么我要问这个问题。我不是说这是错的(我投了更高的票)。我只是想知道,在我一辈子都避免使用正则表达式之后,我正在尝试学习正则表达式。@Archer:它适用于
ng pattern=“/^(?root$)/”
,但不适用于
ng pattern=“^(?root$)”
。原因是,当ng模式计算为字符串时,整个模式都用
^
$
括起来。看,是的,我知道。我想你会明白,我只是没有包括正斜杠。我只是想知道,在已经使用
$
表示字符串的结尾之后,为什么选择在末尾添加
*$
。@Archer:我需要仔细检查一下。谢谢你在这里指出这一点。出于好奇,如果
^(?!root$)
足以“不匹配”这个词,而没有其他东西,那么最后额外的
$
有什么用?@RavindharKonka是的,它有效,这就是我问这个问题的原因。我不是说这是错的(我投了更高的票)。我只是想知道,在我一辈子都避免使用正则表达式之后,我正在尝试学习正则表达式。@Archer:它适用于
ng pattern=“/^(?root$)/”
,但不适用于
ng pattern=“^(?root$)”
。原因是,当ng模式计算为字符串时,整个模式都用
^
$
括起来。看,是的,我知道。我想你会明白,我只是没有包括正斜杠。我只是想知道,在已经使用
$
表示字符串的结尾之后,为什么选择在末尾添加
*$
。@Archer:我需要仔细检查一下。谢谢你在这里指出这一点。