将另一个正则表达式添加到现有正则表达式
Add another regex to an existing one
我有以下两种模式:
https://codepen.io/anon/pen/OdZaBe
/^(?=.*[A-Za-z])(?=.*\d)(?=.*[!#$%\-_=+<>])[A-Za-z\d!#$%\-_=+<>]/;
https://codepen.io/anon/pen/ErLOOw
/^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d!#$%\-_=+<>]/
模式 1 需要一个 letter/number/special 字符,而模式 2 只需要一个数字和一个字符。
我想添加一个模式来禁用任何空白或完整的空白字符串:(?!\s*$)[\s\S]+$
我试过了
/^(?=.*[A-Za-z])(?=.\S*$)(?=.*\d)[A-Za-z\d!#$%\-_=+<>]/;
/^(?=.*[A-Za-z])(?=.(?!\s*$)[\s\S]+$)(?=.*\d)[A-Za-z\d!#$%\-_=+<>]/;
但没有达到预期效果。
ENDING 结果为
模式 1 需要至少 1 个 letter/number/special 字符并且不允许任何空格
模式 2 需要至少 1 个数字和字符并且不允许任何空格
两种模式本身都不匹配空格。参见 https://regex101.com/r/FaQhfD/1
和 https://regex101.com/r/IWWhSp/1
但是在您的代码中,您必须使用量词在末尾重复字符 class 并断言字符串的末尾不使用锚点 $
:
$scope.thing = /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d!#$%\-_=+<>]+$/;
和:
$scope.thing = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[!#$%\-_=+<>])[A-Za-z\d!#$%\-_=+<>]+$/;
要防止在末尾输入空格,您可以使用 ng-trim="false"
,请参阅 ngTrim:
<input type="text" ng-model="something" ng-pattern="thing" ng-trim="false" />
我有以下两种模式:
https://codepen.io/anon/pen/OdZaBe
/^(?=.*[A-Za-z])(?=.*\d)(?=.*[!#$%\-_=+<>])[A-Za-z\d!#$%\-_=+<>]/;
https://codepen.io/anon/pen/ErLOOw
/^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d!#$%\-_=+<>]/
模式 1 需要一个 letter/number/special 字符,而模式 2 只需要一个数字和一个字符。
我想添加一个模式来禁用任何空白或完整的空白字符串:(?!\s*$)[\s\S]+$
我试过了
/^(?=.*[A-Za-z])(?=.\S*$)(?=.*\d)[A-Za-z\d!#$%\-_=+<>]/;
/^(?=.*[A-Za-z])(?=.(?!\s*$)[\s\S]+$)(?=.*\d)[A-Za-z\d!#$%\-_=+<>]/;
但没有达到预期效果。
ENDING 结果为
模式 1 需要至少 1 个 letter/number/special 字符并且不允许任何空格
模式 2 需要至少 1 个数字和字符并且不允许任何空格
两种模式本身都不匹配空格。参见 https://regex101.com/r/FaQhfD/1 和 https://regex101.com/r/IWWhSp/1
但是在您的代码中,您必须使用量词在末尾重复字符 class 并断言字符串的末尾不使用锚点 $
:
$scope.thing = /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d!#$%\-_=+<>]+$/;
和:
$scope.thing = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[!#$%\-_=+<>])[A-Za-z\d!#$%\-_=+<>]+$/;
要防止在末尾输入空格,您可以使用 ng-trim="false"
,请参阅 ngTrim:
<input type="text" ng-model="something" ng-pattern="thing" ng-trim="false" />