Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我的来源
var reg:RegExp = /[0-9A-Za-z]/;
reg.test("fsfm32423sda");- 现在是真的
reg.test("fsfm32423sda");
reg.test("fsfm32423sda!!!___---"); - 现在为真 - 但必须为假,因为字符串包含字符"!_-"- 它们不包含在“var reg”中
reg.test("fsfm32423sda!!!___---");
"!_-"
怎么做 ?
这样做的问题[0-9A-Za-z]是:它将匹配任何可能包含字母或数字的字符串。但是,它没有指定其他任何内容。将其更改为^[0-9A-Za-z]+$应该可以解决您的问题。
[0-9A-Za-z]
^[0-9A-Za-z]+$
^和锚点所做的$是它们指示正则表达式引擎分别在字符串的开头和结尾开始和停止匹配。这将确保您的字符串仅由一个或多个字母和/或数字组成。
^
$
您只测试一个字符,因为您没有量词。尝试:
var reg:RegExp = /^[0-9A-Za-z]+$/;
插入符号^标记字符串的开头,美元标记$结尾。