比较正则表达式的数据

时间:2011-02-08 07:31:50

标签: javascript jquery regex

我有一些数据(例如:'acs24','45','ds'等)。使用这些数据我有以下方法

function formatData(data) {
    var rege = /^([A-Za-z0-9_\-\.])$/;
    if ( rege.test(data) ) {
        alert('Alpaha Numeric data');
    }
}

但这不起作用。这个功能出了什么问题?

4 个答案:

答案 0 :(得分:1)

因为它只匹配一个字符。

var rege = /^([A-Za-z0-9_\-\.]+)$/;

这个匹配至少一个字符。

额外细节:此处不需要括号。但它们并没有伤害。

答案 1 :(得分:1)

因为它只匹配一个字符且范围无效。如果要允许连字符,则它必须是正则表达式列表中的最后一个字符,否则它将失败,因为_-.是无效范围。

var rege = /^[A-Za-z0-9_.-]+$/;

编辑:嗯,我在你改变问题之前指出了它。 :P

答案 2 :(得分:0)

以下link有anser

无论如何答案是

“^ [A-ZA-Z0-9 _] + $”

你的正则表达式只搜索1个字符......

答案 3 :(得分:0)

使用+匹配一个或多个字符

function formatData(data) {
    var rege = /^([A-Za-z0-9_\-\.])+$/;
    if ( rege.test(data) ) {
        alert('Alpaha Numeric data');
    }
}