我刚刚开始学习JavaScript,并且陷入了正则表达式中。该程序应该计算输入字符串中的元音数量并显示元音。
如果元音未放置在一起,则程序运行正常,但如果元音在一起显示,则无法给出正确的值。例如“树”。元音将显示为“ ee”,计数为1。
Type a word here : <input type="text" id="word1">
<input type="button" value="Vowels" onclick="Vowels()">
function Vowels(){
var String1 = document.getElementById('word1').value;
var re = new RegExp(/[aeiou]+/gi);
var Vowels1 = String1.match(re);
alert(Vowels1);
if (Vowels1.length>=1)
{
alert("The number of vowels are:" + Vowels1.length);
}
else
{
alert("No vowels in the word");
}
}
请帮助我找到正确的正则表达式,并且
else
语句不起作用。请帮助我修复它。 最佳答案
只需丢失+
,您的表情就是将一组连续的元音作为一次匹配。
var re = /[aeiou]/gi;
至于
else
,如果没有匹配项(Vowels1
是null
),则此行将失败:if (Vowels1.length>=1)
到那时,脚本停止执行,并且我们从不运行
else
块。因此将其更改为:
if (Vowels1 && (Vowels1.length > 0))