gpt4 book ai didi

javascript - 如何创建一个至少接受一个小写字母和一位数字的正则表达式?

转载 作者:行者123 更新时间:2023-12-01 03:52:47 29 4
gpt4 key购买 nike

此表达式必须遵守特定规则:

1.- 总共 2 到 8 个字符。
2.- 以大写开头。
3.- 包含小写字母和数字。

第一个和第二个应该很容易,但我无法让第三个工作。

这是我想出的表达方式

([A-Z]+[A-Za-z0-9]*){2,8}  

但它返回了错误的响应。正则表达式远不是我的强项,这是我第一次在类之外使用它们。

这是我的代码,如果有帮助

    var expresion = /([A-Z]+[A-Za-z0-9]*){2,8}/;
var re = new RegExp(expresion);
var t = $('#code').val();
if (re.test(t)) {
console.log(t+' works');
} else {
console.log(t+' not working');
}

最佳答案

这应该符合您的字面要求(但是,正如评论所述,它们并没有真正意义):

^(?=.{2,8}$)(?=.*[0-9])(?=.*[a-z])[A-Z][a-zA-Z0-9]*$

首先,您需要使用 ^ (字符串开头)和 $ 来锚定匹配;否则你只能选择一个匹配的子字符串,这会扰乱你的要求。

其次,我们使用前瞻来验证几个单独的点:字符串在结束之前包含 2 到 8 个字符,字符串包含一个数字。

第三,我们使用字符类来验证它是否以大写字母开头,并以大写字母、小写字母和数字的混合形式继续。

编辑:忘记了小写要求,谢谢 nnnnnn。你是对的,你的版本更好。

关于javascript - 如何创建一个至少接受一个小写字母和一位数字的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43036227/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com