我有一些数据(例如:'acs24','45','ds'等)。使用这些数据我有以下方法
function formatData(data) {
var rege = /^([A-Za-z0-9_\-\.])$/;
if ( rege.test(data) ) {
alert('Alpaha Numeric data');
}
}
但这不起作用。这个功能出了什么问题?
答案 0 :(得分:1)
因为它只匹配一个字符。
var rege = /^([A-Za-z0-9_\-\.]+)$/;
这个匹配至少一个字符。
额外细节:此处不需要括号。但它们并没有伤害。
答案 1 :(得分:1)
因为它只匹配一个字符且范围无效。如果要允许连字符,则它必须是正则表达式列表中的最后一个字符,否则它将失败,因为_-.
是无效范围。
var rege = /^[A-Za-z0-9_.-]+$/;
编辑:嗯,我在你改变问题之前指出了它。 :P
答案 2 :(得分:0)
答案 3 :(得分:0)
使用+
匹配一个或多个字符
function formatData(data) {
var rege = /^([A-Za-z0-9_\-\.])+$/;
if ( rege.test(data) ) {
alert('Alpaha Numeric data');
}
}