在第一个数字块之后删除所有数字

时间:2015-03-27 17:12:53

标签: javascript

我试图编写代码,在第一个数字和文本块之后删除所有代码。你知道如何做到这一点。

string = '009EPMT18$MBS'

预期结果

string = '009EPMT'

2 个答案:

答案 0 :(得分:0)

你需要正则表达式来做到这一点。它是许多语言中常见的字符串分析语法。有许多正则表达式可以做你想要的,这里是一个:

var myRegex = /^[0-9]+[a-zA-Z]+/;

^表示搜索必须从字符串的开头开始 [0-9]表示在开始之后,必须有0到9范围内的字符 +表示必须有一个或多个先前条件,这意味着必须有一个或多个数字 [a-zA-Z]表示在a到z或A到Z的范围内必须有任何字符。但这不包括重音字符和其他字母表中的字母。

在正则表达式上调用.exec(string)会返回传递的字符串中找到的字符串数组。

答案 1 :(得分:-2)

你走在正确的轨道上,你的模式中缺少字母:

var s = '009EPMT18$MBS';
var result;

var m = s.match(/^\d+[A-Z]+/); // first numbers and uppercase text
if (m) result = m[0]; // result = "009EPMT"

正则表达式解释:字符串^的开头后跟一个或多个数字\d+,后跟一个或多个字母,从A到Z [A-Z]+。请注意,小写字符不匹配。