我如何写javascript Regex在这样的方式,它接受6个字符

How do I write javascript Regex in such way it accepts 6 Characters

本文关键字:方式 字符 6个 何写 javascript Regex      更新时间:2023-09-26

Javascript regex来验证它包含6个字符,其中一个字符(1)应该是数字。

var pwdregex  =/^[A-Za-z1-9]{6}$/;

这将保证只有一个数字(即非零十进制数字):

var pwdregex = /^(?=.{6}$)[A-Za-z]*[1-9][A-Za-z]*$/;

这将保证一个或多个连续的数字:

var pwdregex = /^(?=.{6}$)[A-Za-z]*[1-9]+[A-Za-z]*$/;

这将保证一个或多个不一定连续的数字:

var pwdregex = /^(?=.{6}$)[A-Za-z]*(?:[1-9][A-Za-z]*)+$/;

以上所有表达式总共需要6个字符。如果要求大于等于6个字符,则将"{6}"改为"{6,}"(或将"{6}$"中的"$"去掉)。

长度为6的1位数字和字母数字字符的所有可能组合。

if (subject.match(/^[a-z]{0,5}'d[a-z]{0,5}$/i) && subject.length == 6) {
    // Successful match
} else {
    // Match attempt failed
}

[编辑]固定明显错误…

如果您同意使用函数而不是正则表达式,您可以这样做:

var sixAlphaOneDigit = function(s) {
  return !!((s.length==6) && s.replace(/'d/,'').match(/^[A-Za-z]{5}$/));
};
sixAlphaOneDigit('1ABCDE'); // => true
sixAlphaOneDigit('ABC1DE'); // => true
sixAlphaOneDigit('ABCDE1'); // => true
sixAlphaOneDigit('ABCDE'); // => false
sixAlphaOneDigit('ABCDEF'); // => false
sixAlphaOneDigit('ABCDEFG'); // => false

如果你想在正则表达式中严格执行,那么你可以建立一个非常长的模式,枚举数字位置和周围(或前导或后)字符的所有可能性。