我有一个包含以下验证规则的表单:
<script type="text/javascript">
var errmsg;
function validate()
{
var textA= document.getElementById("text1");
var textC = document.getElementById("text3");
var txt1 = document.getElementById("text1").value;
var txt3 = document.getElementById("text3").value;
var txt1_len = txt1.length;
var txt3_len = txt3.length;
if(txt1_len == 0 || txt1_len > 50 || txt1_len < 10)
{
errmsg = "Error .";
document.getElementById("ermsg").innerHTML = errmsg;
textA.focus();
return false;
}
else if(txt3_len == 0 || txt3_len > 30 || txt3_len < 10)
{
errmsg = "Invalid password!";
document.getElementById("ermsg").innerHTML = errmsg;
textC.focus();
return false;
}
else
{
return true;
}
return false;
}
</script>
&#13;
如果用户在第一个字段中输入少于10个字符,则应提醒用户。我想知道,如果他没有输入该字段中的某些字符,我是否可以提醒用户。
例如,如果用户输入mynamehere,我希望他输入我的姓名,并限制用户在该字段中输入电子邮件地址。
如何使用这些规则实现这一目标?
感谢
答案 0 :(得分:0)
我已经拿走了你的片段并进行了编辑:
var errmsg;
function validate() {
var textA = document.getElementById("text1");
var textC = document.getElementById("text3");
var txt1 = document.getElementById("text1").value;
var txt3 = document.getElementById("text3").value;
var txt1_len = txt1.length;
var txt3_len = txt3.length;
var $err = document.getElementById("ermsg");
$err.innerHTML = "Everything is ok!";
$err.style.color = "black";
if (txt1_len == 0 || txt1_len > 50 || txt1_len < 10 || !/.+-.+-/.test(txt1)) {
errmsg = "Error .";
$err.innerHTML = errmsg;
$err.style.color = "red";
textA.focus();
return false;
} else if (txt3_len == 0 || txt3_len > 30 || txt3_len < 10 || !validateEmail(txt3)) {
errmsg = "Invalid password!";
$err.innerHTML = errmsg;
$err.style.color = "red";
textC.focus();
return false;
} else {
return true;
}
return false;
}
function validateEmail(email) {
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9] {1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
<input type="text" id="text1" />
<input type="text" id="text3" />
<button onclick="return validate();">Validate</button>
<p>
<div id="ermsg"></div>
</p>
测试结束于txt1
和txt3
!/.+-.+-/.test(txt1)
和
!validateEmail(txt3)
编辑:
字段text1
上的规则似乎是:文字应仅包含数字/字母/减号。
因此您可以使用以下命令更改规则:
/^[a-z0-9\-]+$/i.test(txt1)
网上有许多RegExp教程,例如:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions