Javascript正则表达式来检测字符串是否具有两个“@"字符
Javascript regex to detect if a string has two "@" chars?
我正在尝试做一个简单的验证,验证一个字符串是否只包含一个电子邮件地址。我猜,最简单的方法是寻找重复的"@"字符,如果是这样的话,就拒绝。我有这段代码,我在regex101上测试了regex,它运行得很好。但现在它出现在页面上,我什么也没得到:
function checkemail(input){
var validformat=/^.*@.*@+.*?/
var returnval=false
if (!validformat.test(input.value))
alert("Invalid email format. Please correct and submit again.")
else{ returnval=true
}
if (returnval==false) input.select()
return returnval
}
我称之为:
<form action="storemessage.php" method="POST" onSubmit="return checkemail(this.recipemail)">
这个领域的名字叫"recipemail"。Stumped。希望这是一件简单的事情,我只是没有足够的咖啡看。。。
test
返回true。所以你想改变你的if条件,使其作用于真值,而不是假值:
if (validformat.test(input.value)) {
alert("Invalid email format. Please correct and submit again.");
}
也许您应该将正则表达式重命名为invalidformat
。
在JS中验证电子邮件是一项非常乏味的任务,有数百种奇怪的场景可以解释,但这根本不可行。所以你必须在某个地方划清界限。试试这个正则表达式:
/^'s*['w'-'+_]+('.['w'-'+_]+)*'@['w'-'+_]+'.['w'-'+_]+('.['w'-'+_]+)*'s*$/
相关文章:
- 如何在jQuery中搜索两个字符之间的字符串
- 使用 JavaScript 中的正则表达式替换大文本中两个字符之间的每个出现的字符串
- 电子邮件验证不接受仅包含两个字符的域
- 如何完成此循环?连接前面的两个字符
- 如何使用jQuery获取url的最后两个字符
- Javascript-使用Regex获取两个字符之间的字符
- Regex表达式,用于替换两个字符(包括字符)之间的字符串
- 通过JQuery在网页上的两个字符之间放置空格
- 如何匹配两个字符内的重复模式
- Regex/Javascript;否定地选择两个字符的重复
- 如何提取两个字符之间的字符串
- 正则表达式获取两个字符之间的所有内容
- 如何根据 javascript 中的两个字符比较从另一个字符串中提取字符串
- JavaScript - 将两个字符相互替换
- 如何选择字符串的最后两个字符
- 如何在 JavaScript 中替换字符串的前两个字符
- 替换/删除两个字符之间的所有内容
- 如何在 JavaScript 中替换字符串中最后一个出现的两个字符之间的字符
- 使用Split将字符串拆分为两个字符的组
- 检索两个字符之间的子字符串