我怎么能写一个名为validate(z)的函数,它以字符串作为参数&如果包含1 "@"的象征,至少1
How can 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。
。if z = "stack@overflow.co.uk"
函数将返回true
对于这样一个简单的需求,Regex似乎有些多余。我会写这样的
function validate(z) {
var hasDots = z.indexOf('.') !== -1,
firstAt = z.indexOf('@'),
lastAt = z.lastIndexOf('@');
return hasDots && firstAt !== -1 && firstAt === lastAt;
}
听起来您正在寻找的是电子邮件验证功能。这些比你想象的要复杂得多。您必须验证长度和格式。这里有一个在我使用(相当复杂的)正则表达式语句的所有实现中对我来说都工作得很好。
function validateEmail(v) {
var r = new RegExp("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:'.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?'.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?");
return (v.match(r) == null) ? false : true;
}
可以使用正则表达式
function validate(z) {
var re = /^(['w-]+(?:'.['w-]+)*)@((?:['w-]+'.)*'w['w-]{0,66})'.([a-z]{2,6}(?:'.[a-z]{2})?)$/i;
return re.test(z);
}
对于点,使用indexOf
在输入中搜索字符:
function contains(z, c) {
return z.indexOf(c) !== -1;
}
要检查单个@
,您可以输入
function contains_one(z, c) {
var first = z.indexOf(c);
var last = z.lastIndexOf(c);
return first !== -1 && first == last;
}
function validate(z) {
return contains_one(z, '@') && contains(z, '.');
}
如果您喜欢使用regexp:
function validate(z) {
return /^[^@]*@[^@]*'.[^@]*$/.test(z);
}
这表示请求一个非at符号序列,后面跟着一个at符号,后面跟着一个非at符号序列,后面跟着一个点,后面跟着一个非at符号序列。你可能想调整一下。例如,它坚持点必须在@号的右边。此外,它还允许点紧跟在@号之后,或者紧跟在输入的末尾。
相关文章:
- 当包含另一个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包含"&"