我如何编写一个名为validate(z)的函数,它以字符串作为参数&如果包含1 "@"的象征,至少1
How do I write function called validate(z) which takes a string as argument & return true if contain 1 "@" symbol & at least 1 "." & false otherwise
我刚刚开始学习函数,发现它相当困难。
如何编写一个名为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()与RegEx。
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_sign
和num_matches_dot_sign
。为了计算指定字符在字符串中出现的次数,我们使用match()方法与正则表达式结合使用。在这种情况下,我们的正则表达式是/@/g,这意味着我们搜索字符(或字母)@的出现,而g是修饰符,这意味着全局,所以我们查找符号@的所有出现。我们使用相同的原理来查找的出现次数。字符。然后比较num_matches_at_sign
恰好等于1,num_matches_dot_sign
等于或大于1。如果两个条件都为真(这就是为什么我们使用&&或逻辑和运算符),函数返回真,否则返回假。您可以注意到match()函数附近使用了逻辑||运算符,否则我们的match方法将返回null。
相关文章:
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 货币代码为欧元-金额的格式不应包含小数
- 如何包含特定于每个视图angularjs的javascript文件
- 我如何修复包含在captcha的addthis中的错误
- 正在注入包含JS的HTML
- Json数据包含日期和时间格式
- 解析字符串包含'"'从mysql检索到JSON
- 我收到一个类型错误,其中包含-"$不是函数“;使用noConflict时
- 解析包含未被“”包围的键的JSON"与Objective-C
- "未终止的模板文字“;当文字包含脚本标记时出现语法错误
- jQuery"不包含“;选择器
- 在html文本框中,如何显示本身包含“”的值"象征
- 检查字符串是否只包含“0”-"什么都没有
- Nodejs-Mysql:"SyntaxError:意外的输入结束“;如果查询包含'其中'
- 如何编写包含“”的正则表达式;A-Z”;以及“;a-z”;以及“;0-9”;以及“-"以及“_&”;
- 错误:未捕获的异常:[exception.."字符串包含一个..quot;
- 获取"data something“;从<选项>包含在<选择>
- "响应性”;Chart.js图表比包含窗口高
- 获取最后一个字符串“"其可以包含“&”;
- 如何创建语句if包含"&"