的javascript:使用正则表达式来允许字母,数字和空格(至少一个字母和数字)
问题描述:
我想建立一个正则表达式,允许以下情况:的javascript:使用正则表达式来允许字母,数字和空格(至少一个字母和数字)
- M1 1AA
- B33 8号
- CR2 6XH
- DN55 1PT
- W1A 1HQ
- EC1A 1BB
and 不应该允许,只有一个字母或单个数字。 E.g:
- 一个
- AA AAA
而且我如何在JavaScript调用它。我目前使用正则表达式
^[A-Z0-9 ]*[A-Z0-9][A-Z0-9 ]*$
这验证所有上述情况INCLUDIN一个字母或一个数字。
请帮助我如何使用JavaScript要在文本框变化称为ñ验证使用上述正则表达式
答
你靠近。解决这个问题的一种方法是
^[A-Z0-9 ]*[A-Z][A-Z0-9 ]*\d[A-Z0-9 ]*$|^[A-Z0-9 ]*\d[A-Z0-9 ]*[A-Z][A-Z0-9 ]*$
,其允许任意的字母,数字或空间([A-Z0-9 ]*
)之前,之后,和字母和数字,并且允许使用信之间来首先数或先来。
但是,还有另一种解决方法。你可以使用两个正则表达式。首先,根据正则表达式检查
^[A-Z0-9 ]*$
它检查您是否只有字母,数字和空格。然后,检查针对正则表达式
[A-Z][A-Z0-9 ]*\d|\d[A-Z0-9 ]*[A-Z]
其中检查至少一个字母([A-Z]
)和一个数字(\d
)中,用两种顺序允许的。请注意,此模式不包括帽子和美元符号,所以字母和数字可以出现在字符串中的任何位置。
双正则表达式方法的优点是稍后更易于阅读和修改。
这只允许字母以及E.g AA AAA和22 232.我想要至少一个字母和一个数字。 E.g A2,AA2,22A – Ishan 2012-03-19 05:21:42
@Ishan我在我的答案中编辑了正则表达式,以检查至少一个字母和至少一个数字。 – 2012-03-19 05:25:36
如果输入的开头和结尾处带有一个数字(例如,A1A或1A1),而这些数字似乎基于该规范有效,则两种模式的方法会被破坏。 – 2012-03-19 06:20:29