这没关系:' AAAAAAA1222222' 这不可行:' 1AAAAA' 这不可行:' AA1AA'
只是想找一种方法来检查一个字符串是否是所有字母然后只是字母。
答案 0 :(得分:1)
这很简单。
^[A-Za-z]*[0-9]*$
当然假设没有信件可以。
例如,上面的例子匹配
AAAAAAA 2222222
以及空字符串。
如果必须至少有一个字母且至少有一个数字,请将*
替换为+
^[A-Za-z]+[0-9]+$
答案 1 :(得分:0)
答案 2 :(得分:0)
text.match(/^[A-Z]*\d*$/i)
读取这个"字符串的开头,后跟任意数量的字母,后跟任意数字的数字,后跟字符串的结尾。"
请注意,这将与""
,"A"
和"1"
相匹配。如果您希望至少有一个字母和至少一个数字,请在两个位置使用+
代替*
。
答案 3 :(得分:0)
试试这个正则表达式
\b\D+\d+\b
\ b是不允许数字在开头出现的字边界,以及在结尾数字之后出现的字母。
答案 4 :(得分:0)
我建议这样的事情:
text.match(/\b\D+\d+[^\D]\b/);
\ b是格雷斯建议的,这是一个好主意。另一个选择是使用开头和结尾锚点,如:
text.match(/^\D+\d+[^\D]$/);
答案 5 :(得分:0)
text.match(/^[a-zA-Z]+\d*$/);
测试:
AAAAAAA1222222 - match
1AAAAA - no match
AA1AA - no match
AAAAAAA - match
2222222 - no match
如果您不想匹配所有信件和至少一个数字,请更改\d
的{{1}}的量词(1 - 无限次) )到+
(0-infinity次)
有关正则表达式量词的更多信息:link