我不知道为什么正则表达式模式不起作用!我找不到任何错误!但是当我用错误的输入来运行它时,它会跳过模式测试行并移至下一页!
<!DOCTYPE html>
<html>
<head>
<title>Validation</title>
<script>
function validate()
{
var email=document.myform.email.value;
var pass=document.myform.pass.value;
var phno=document.myform.phno.value;
if(email!="" && pass!="" && phno!="")
{
var emailcheck=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
var passcheck=/(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}/;
var phonecheck=/^[0-9]{10}+$/;
var result1=emailcheck.test(email);
var result2=passcheck.test(pass);
var result3=phonecheck.test(phno);
}
else
{
alert("Validation failed");
return false;
}
if(result1 && result2 && result3)
{
alert("Validation Successful");
//return true;
}
else
{
alert("Validation Failed");
document.write("email should be as (xxx@gmail.com)"+"<br/>"+"password should be as (pass123)"+"<br/>"+"phone should be as (98659-57575)"+"<br/>");
return false;
}
}
</script>
</head>
<body>
<form name="myform" action="number.php" onsubmit="return validate()">
Email:<input type="text" name="email"/><br/>
Password:<input type="text" name="pass"/> <br/>
Phone:<input type="text" name="phno"/> <br/>
<input type="submit" value="submit"/>
</form>
</body>
</html>
如果我提供任何与模式不匹配的输入,我希望警报验证失败。
答案 0 :(得分:1)
您的代码中存在正则表达式错误,导致脚本失败。由于validate
脚本失败,onsubmit
无法找到validate
函数,因此所有内容都会被破坏。
通过this one等在线正则表达式测试网站来检查您的正则表达式是一种好习惯
我认为,如果将代码的正则表达式部分更改为此,则一切都会正常工作:
var emailcheck=/^([A-Za-z0-9_\\-\\.])+\\@([A-Za-z0-9_\\-\\.])+\\.([A-Za-z]{2,4})$/;
var passcheck=/(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}/;
var phonecheck=/^[0-9]{10}$/;
您会注意到,我已将/
的每个//
更改为+
,并在最后一个正则表达式中删除了window.onload = function () {
var dataPoints = [];
var chart = new CanvasJS.Chart("chartContainer",{
title:{
text:"grafik"
},
data: [{
type: "line",
dataPoints : dataPoints,
}],
axisX:{
title: "Frekvencija",
},
axisY:{
title: "Amplituda",
},
});
$.ajax({
url:'http://localhost/nikola/analiza.json',
dataType:'json',
type:'get',
cache:false,
success:function(data){
for (var i = 0 ; i <1 ; i++) {
var text = data[i].analiza;
var obj = JSON.parse(text);
//console.log(text);
for (var j =0 ; j < obj.length; j++) {
// console.log(obj[1]);
// console.log(Object.keys(obj[j]));
//console.log(Object.values(obj[j]));
//console.log(parseInt(Object.keys(obj[j])));
//console.log(parseInt(Object.values(obj[j])))
dataPoints.push({
x: parseInt(Object.keys(obj[j])),
y: parseFloat(Object.values(obj[j]))
});
chart.render();
}
}
}
})
chart.render();
}
,因为它无效。
希望对您有所帮助。