繁体   English   中英

正则表达式JavaScript-如何检查字符串是否全是字母,然后是所有数字

[英]Regex JavaScript - how to check if a string is all letters and then all numbers

可以:'AAAAAAA1222222'不能使用:'1AAAAA'不能使用:'AA1AA'

只是寻找一种方法来检查字符串是否全是字母,然后才是字母。

这是个简单的。

^[A-Za-z]*[0-9]*$

那当然是假设没有字母是可以的。

例如,上面的示例将匹配

 AAAAAAA 2222222 

以及一个空字符串。

如果必须至少包含一个字母和至少一个数字,请将*替换为+

^[A-Za-z]+[0-9]+$

提前使用。 向前看符号被用于验证,我建议你去通过这个

试试看: ^(?=[A-Za-z]*\\d*$).+

演示

text.match(/^[A-Z]*\d*$/i)

将其读为“字符串的开头,后跟任意数量的字母,后跟任意数量的数字,后跟字符串的结尾”。

注意,这将匹配"""A""1" 如果希望至少有一个字母和至少一个数字,请在两个位置都用+代替*

试试这个正则表达式

  \b\D+\d+\b 

\\ b是单词边界,不允许数字开头和数字后面的字母。

我建议是这样的:

text.match(/\b\D+\d+[^\D]\b/);

\\ b由Grace建议,是个好主意。 另一种选择是使用开始和结束锚点,例如:

text.match(/^\D+\d+[^\D]$/);
text.match(/^[a-zA-Z]+\d*$/);

测试:

AAAAAAA1222222    -    match
1AAAAA            -    no match
AA1AA             -    no match
AAAAAAA           -    match
2222222           -    no match   

如果您不想匹配所有字母并且至少有一个数字,则将\\d的量词从+ (1个无穷大次数)更改为* (0个无穷大次数)

有关正则表达式量词的更多信息: 链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM