Javascript 将数据与正则表达式进行比较
我有一些数据(例如:“acs24”、“45”、“ds”等)。使用这些数据,我有以下方法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_\-\.]+)$/
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在字母数字数据中,如何仅保留应用程序中需要使用的数字数据