Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将数据与正则表达式进行比较_Javascript_Jquery_Regex - Fatal编程技术网

Javascript 将数据与正则表达式进行比较

Javascript 将数据与正则表达式进行比较,javascript,jquery,regex,Javascript,Jquery,Regex,我有一些数据(例如:“acs24”、“45”、“ds”等)。使用这些数据,我有以下方法 function formatData(data) { var rege = /^([A-Za-z0-9_\-\.])$/; if ( rege.test(data) ) { alert('Alpaha Numeric data'); } } 但这是行不通的。此函数有什么问题?,因为它只匹配一个字符 var rege = /^([A-Za-z0-9_\-\.]+)$/

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

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

但这是行不通的。此函数有什么问题?

,因为它只匹配一个字符

var rege = /^([A-Za-z0-9_\-\.]+)$/;
这一个至少匹配一个字符

var rege = /^([A-Za-z0-9_\-\.]+)$/;
额外细节:这里不需要括号。但它们不会造成伤害。

以下是答案

无论如何,答案是

“^[a-zA-Z0-9\]+$”

您的正则表达式将只搜索1个字符…

用于匹配一个或多个字符

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

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

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


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

在字母数字数据中,如何仅保留应用程序中需要使用的数字数据