Javascript 使用正则表达式计算字符串中的元音
我刚刚开始学习JavaScript,我被正则表达式所困扰。这个程序应该计算输入字符串中的元音数并显示元音 如果元音没有放在一起,程序运行正常,但是如果元音出现在一起,程序不会给出正确的值。e、 g.“树”。元音将显示为“ee”,计数为1Javascript 使用正则表达式计算字符串中的元音,javascript,regex,Javascript,Regex,我刚刚开始学习JavaScript,我被正则表达式所困扰。这个程序应该计算输入字符串中的元音数并显示元音 如果元音没有放在一起,程序运行正常,但是如果元音出现在一起,程序不会给出正确的值。e、 g.“树”。元音将显示为“ee”,计数为1 在此处键入一个单词: 函数元音(){ var String1=document.getElementById('word1').value; var re=新的RegExp(/[aeiou]+/gi); var vouels1=String1.match(re
在此处键入一个单词:
函数元音(){
var String1=document.getElementById('word1').value;
var re=新的RegExp(/[aeiou]+/gi);
var vouels1=String1.match(re);
警报(元音1);
如果(元音1.长度>=1)
{
警报(“元音的数量为:“+元音1.length”);
}
其他的
{
警惕(“单词中没有元音”);
}
}
请帮助我找到正确的正则表达式,else
语句不起作用。请帮我修一下。试试这个方法
function getVowels(str) {
var m = str.match(/[aeiou]/gi);
return m === null ? 0 : m.length;
}
试试这个方法
function getVowels(str) {
var m = str.match(/[aeiou]/gi);
return m === null ? 0 : m.length;
}
只需丢失
+
——您的表达式将连续元音组作为单个匹配项
var re = /[aeiou]/gi;
对于else
,当没有匹配项时(并且vouels1
为null
),此行将失败:
此时,脚本停止执行,我们永远不会运行else
块
因此,将其更改为:
if (Vowels1 && (Vowels1.length > 0))
只需丢失
+
——您的表达式将连续元音组作为单个匹配项
var re = /[aeiou]/gi;
对于else
,当没有匹配项时(并且vouels1
为null
),此行将失败:
此时,脚本停止执行,我们永远不会运行else
块
因此,将其更改为:
if (Vowels1 && (Vowels1.length > 0))
只需删除
+
。所以“tree”.match(/[aeiou]/gi).length
为您提供2
只需删除+
。所以“tree”.match(/[aeiou]/gi).length
为您提供2
谢谢,现在它工作正常。你能推荐一些学习javascript的材料吗?谢谢,现在效果很好。你能推荐一些学习javascript的材料吗。