下面是我的Html示例代码,其中有一个输入字段,可以接受数字和字母。
我需要根据用户输入的值来调用函数,即如果用户输入纯10分位电话号码,则在用户输入电子邮件呼叫功能时调用功能号码(),否则混合然后错误。
我只需要一个电话号码和电子邮件的输入元素。
HTML
<div>
<input type="text" id="contact"/>
<button onClick()="???">Submit</button>
</div>
<script>
function number(){
// call when input value is a number;
}
function email() {
// call this when input value is an email;
}
</script>
答案 0 :(得分:2)
<button onclick="number()">Submit</button>
如果您不知道要拨打哪个功能,则需要确定:
HTML:
<button onclick="decideFunction()">Submit</button>
JS:
function decideFunction() {
const value = document.getElementById('contact').value;
if (!Number.isNaN(value)) {
number();
} else if (isEmail(value)) { // check with regexp
email(); //etc..
}
}
答案 1 :(得分:1)
只需调用另一个函数来检查该值是否为数字并采取相应的行动:
function func() {
let val = document.getElementById("contact").value;
if (!isNaN(parseInt(val))) number();
else email();
}
function number() {
// call when input value is a number;
console.log("number() called");
}
function email() {
// call this when input value is an email;
console.log("email() called");
}
&#13;
<input type="text" id="contact" />
<button onclick="func()">Submit</button>
&#13;
答案 2 :(得分:1)
您可以使用regex
检查电子邮件值,并使用parseInt()
进行长度验证以检查电话号码值
function checkInput(){
var contact = document.getElementById('contact').value;
if(contact.length === 10 && parseInt(contact)){
number();
} else if(!parseInt(contact)){
var reg = /^(([^<>()[\]\\.,;:\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,}))$/;
if(reg.test(contact)){
email();
} else {
mix();
}
} else {
mix();
}
}
function number(){
console.log("number");
}
function email() {
console.log("email");
}
function mix() {
console.log("Error");
}
<div>
<input type="text" id="contact"/>
<button onClick="checkInput();">Submit</button>
</div>
答案 3 :(得分:0)
Try this....
<div>
<input type="text" id="contact"/>
<button onClick()="decideFun();">Submit</button>
</div>
<script>
function decideFun(){
var inputVal = $("#contact").val();
if($.isNumeric(inputVal)==true) number();
else email();
}
function number(){
// call when input value is a number;
}
function email() {
// call this when input value is an email;
}
</script>