gpt4 book ai didi

javascript - 如何编写名为 validate(z) 的函数,该函数接受字符串作为参数,如果包含 1 "@"符号则返回 true,否则至少返回 1 ".",否则返回 false

转载 作者:行者123 更新时间:2023-12-03 09:05:45 25 4
gpt4 key购买 nike

我刚刚开始学习函数,感觉挺难的。

如何编写一个名为 validate(z) 的函数,该函数接受一个字符串作为参数,如果它包含一个“@”符号和至少一个点“.”,则返回 true。否则为 false。

例如如果 z = "stack@overflow.co.uk"该函数将返回 true。

最佳答案

最简单的方法是使用indexOf()

var s = "foo@foocom";
alert(s.indexOf("@") > -1 && s.indexOf(".") > -1); // Will return false

var s = "foo@foo.com";
alert(s.indexOf("@") > -1 && s.indexOf(".") > -1); // Will return true

编辑:您不能使用多个语句调用indexOf(),您必须为每个字符调用它,然后比较两者都返回> -1。

或者您可以将 match() 与正则表达式一起使用。

var string = 'foo@bar.com';

function validate(z) {
var num_matches_at_sign = (z.match(/@/g) || []).length;
var num_matches_dot_sign = (z.match(/./g) || []).length;
if ( num_matches_at_sign == 1 && num_matches_dot_sign >= 1 ) {
alert(true);
} else {
alert(false);
};
};

validate(string);

函数和整个代码简单明了。首先我们定义函数 validate(z){...} ,它接受字符串 z 作为参数。然后,我们将出现次数分配给变量 num_matches_at_signnum_matches_dot_sign。要计算字符串中指定字符的出现次数,我们使用 match()方法与正则表达式相结合。在这种情况下,我们的正则表达式是 /@/g,这意味着我们搜索字符(或字母)@g 的出现。是修饰符,表示全局,因此我们查找所有出现的符号@。我们使用相同的原理来查找 . 字符出现的次数。然后我们比较 num_matches_at_sign 完全等于 1 并且 num_matches_dot_sign 等于或大于 1。如果两个条件都为 true(这就是我们使用&& 或逻辑与运算符)函数返回 true,否则返回 false。您可以注意到在 match() 函数附近使用了逻辑 || 运算符,否则我们的 match 方法将返回 null。

关于javascript - 如何编写名为 validate(z) 的函数,该函数接受字符串作为参数,如果包含 1 "@"符号则返回 true,否则至少返回 1 ".",否则返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32187906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com