我的问题是..我试着制作一个表格,我检查电子邮件是否有正则表达式..当它有,然后什么都不会发生..但当它没有..必须设置空白与改变方法().. 我尝试并且必须用javascript和jQuery编写代码..但是我的代码没有任何反应.. 我希望你能帮我解决这个问题 谢谢.. 这是我的代码:
<div id="formular">
<p>Hier wird überprüft, ob die angegebene E-Mail Adresse korrekt ist.</p>
<form>
E-Mail: <input id="mail" type="text" name="mail" onchange="check();"/>
</form>
<script>
function check(){
var feld= $("#mail");
if(feld.value.search(/^([A-Za-z0-9_/\.-]){1,}\@([A-Za-z0-9]){1,}\.([A-Za-z]){2,4}$/)===-1){
feld.val("");
}
}
</script>
<hr>
</div>
答案 0 :(得分:0)
您正在使用jQuery,因此获得答案的更好方法是以这种方式使用您的脚本:
const titleCase = title => title
.split(/ /g).map(word =>
`${word.substring(0,1).toUpperCase()}${word.substring(1)}`)
.join("");
这是因为<script>
function check(){
var feld= $("#mail");
if(feld.val().search(/^([A-Za-z0-9_/\.-]){1,}\@([A-Za-z0-9]){1,}\.([A-Za-z]){2,4}$/)===-1){
feld.val("");
}
}
</script>
适用于 Javascript 而非 jQuery 。
答案 1 :(得分:0)
你可能想要做这样的事情,因为你正在使用jQuery。您希望在文档准备好后运行此代码。如您所见,我通过onChange
调用替换了输入字段中的.change()
。
您还应该使用$(selector).val()
代替$(selector).value
。
<div id="formular">
<p>Hier wird überprüft, ob die angegebene E-Mail Adresse korrekt ist.</p>
<form>
E-Mail: <input id="mail" type="text" name="mail" />
</form>
<script>
$(document).ready(function(){
var feld = $("#mail");
feld.change(check);
function check(){
console.log("Checking it");
if(feld.val().search(/^([A-Za-z0-9_/\.-]){1,}\@([A-Za-z0-9]){1,}\.([A-Za-z]){2,4}$/)===-1){
feld.val("");
}
}
});
</script>
<hr>
</div>
注意,这只有在您失去对输入字段的关注时才有效。所以我不确定这是不是你的想法。