我正在尝试将字符串与正则表达式条件匹配。它似乎没有工作。它总是资本 D
var string = 'D123';
var matchVar = string.match(/^D+[0-9]^/);
if(matchVar){
alert('yes');
}
答案 0 :(得分:1)
您需要将^
替换为+
。 +
重复前一个令牌一次或多次。因此[0-9]+
匹配一个或多个数字。您可以使用\d
代替[0-9]
var matchVar = string.match(/^D+[0-9]+/);
如果没有行锚的结尾,上面的正则表达式也会匹配D98
中的D98foobar
。
或强>
一个或多个D
'后跟任意数量的数字。
var matchVar = string.match(/^D+[0-9]+$/);
或强>
单个字母后跟任意位数。
var matchVar = string.match(/^D[0-9]+$/);
答案 1 :(得分:0)
^D+[0-9]+$
猜猜你想要这个。^
断言字符串的开头。参见演示。
https://www.regex101.com/r/rC2mH4/13
或
^D+\d+$
var string = 'D123';
var matchVar = string.match(/^D+\d+$/);
if(matchVar){
alert('yes');
}