Javascript 如果条件在验证测试中工作不正常
我已经编写了验证测试程序,但满足了Javascript 如果条件在验证测试中工作不正常,javascript,jquery,Javascript,Jquery,我已经编写了验证测试程序,但满足了条件 即使不应该这样 这是我的密码: 函数chk_val(){ var name=$('.info.name').val(); var birth=$('.info.birth').val(); var phone=$('.info.phone').val(); var eng_kor=/^[가-힣a-z]+$/gi; var num=/^[0-9]+$/g; 如果(姓名=“”| |出生=“”| |电话=“”){ 警报(“1”); }如果(!工程朝鲜试验(名称
条件
即使不应该这样
这是我的密码:
函数chk_val(){
var name=$('.info.name').val();
var birth=$('.info.birth').val();
var phone=$('.info.phone').val();
var eng_kor=/^[가-힣a-z]+$/gi;
var num=/^[0-9]+$/g;
如果(姓名=“”| |出生=“”| |电话=“”){
警报(“1”);
}如果(!工程朝鲜试验(名称)){
警报(“2”);
}否则如果(!num.test(出生)){
警报(“3”);
}else if(birth.length!=8){
警报('4');
}如果(!num.test(电话)){
警报(“5”);
}else if(phone.length!=10&&phone.length!=11){
警报(“6”);
}
}
选中
如其中一条注释所述,您需要从正则表达式中删除全局标志(/g)
如果正则表达式设置了全局标志,test()将推进
正则表达式的最后索引。后续使用test()将启动
将在lastIndex(exec()指定的str子字符串上搜索
另外,还将提升lastIndex属性)。值得注意的是
测试其他字符串时,lastIndex不会重置
如其中一条评论所述,您需要从正则表达式中删除全局标志(/g) 如果正则表达式设置了全局标志,test()将推进 正则表达式的最后索引。后续使用test()将启动 将在lastIndex(exec()指定的str子字符串上搜索 另外,还将提升lastIndex属性)。值得注意的是 测试其他字符串时,lastIndex不会重置
您只需更改数字的RegExp 函数chk_val(){ var name=$('.info.name').val(); var birth=$('.info.birth').val(); var phone=$('.info.phone').val(); var eng_kor=/^[가-힣a-z]+$/gi; var num=new RegExp(“^\\d+$”); 如果(姓名=“”| |出生=“”| |电话=“”){ 警报(“1”); }如果(!工程朝鲜试验(名称)){ 警报(“2”); }否则如果(!num.test(出生)){ 警报(“3”); }else if(birth.length!=8){ 警报('4'); }如果(!num.test(电话)){ 警报(“5”); }else if(phone.length!=10&&phone.length!=11){ 警报(“6”); } }
选中
您只需更改数字的RegExp
函数chk_val(){
var name=$('.info.name').val();
var birth=$('.info.birth').val();
var phone=$('.info.phone').val();
var eng_kor=/^[가-힣a-z]+$/gi;
var num=new RegExp(“^\\d+$”);
如果(姓名=“”| |出生=“”| |电话=“”){
警报(“1”);
}如果(!工程朝鲜试验(名称)){
警报(“2”);
}否则如果(!num.test(出生)){
警报(“3”);
}else if(birth.length!=8){
警报('4');
}如果(!num.test(电话)){
警报(“5”);
}else if(phone.length!=10&&phone.length!=11){
警报(“6”);
}
}
当我尝试该代码段时,请选中我收到的警报(4)
,因为出生日期不是8位数字。在使用test()
时,不要使用g
修饰符。不要使用else if,使用if。既然你想检查一切。如果使用else-If,它只能发出一次警报并停止检查另一个else-If哦,很抱歉,我在尝试我得到的代码片段时修改了出生日期,因为出生日期不是8位数字。在使用test()
时不要使用g
修饰符。不要使用else-If,使用If。既然你想检查一切。如果您使用else If,它只能发出一次警报,并停止检查另一个else If哦,对不起,我修改了出生