合规性验证,不正常

时间:2013-04-11 09:39:50

标签: regex flash

我的来源

var reg:RegExp = /[0-9A-Za-z]/;

reg.test("fsfm32423sda"); - 现在是真的

reg.test("fsfm32423sda!!!___---"); - 现在是 - 但必须为false,因为字符串包含字符"!_-" - 它们不包含在“var reg”中

怎么做?

2 个答案:

答案 0 :(得分:1)

这个问题:[0-9A-Za-z]是它匹配任何可能包含字母或数字的字符串。但是,它没有指定任何其他内容。将其更改为^[0-9A-Za-z]+$可以解决您的问题。

^$锚点的作用是指示正则表达式引擎分别在字符串的开头和结尾处开始和停止匹配。这将确保您的字符串仅由一个或多个字母和/或数字组成。

答案 1 :(得分:1)

您只测试一个字符,因为您没有量词。尝试:

var reg:RegExp = /^[0-9A-Za-z]+$/;

插入符号^标记字符串的开头,美元$标记结束。