验证特定格式而不使用“-"以拆分字符串

Validate specific format without using "-" to split the string

本文关键字:quot 字符串 拆分 定格 格式 验证      更新时间:2023-09-26

嗨,在发送表单之前,我需要验证一个字符串,格式必须是

LLLL999999XXX

其中L是任何字母9是任意数字X是任何字母或数字。

我想知道如何使用-来分割,问题是我的用户使用-来输入这个值,所以如果我在格式中要求-,它将是离散的。(此时此刻我问,请输入LLLL-99999-XXX格式,这不好。)

我如何在不使用任何想法的情况下验证这一点?抱歉,我是javascript 的新手

<script language="JavaScript">
function RFC(cual)
{
mensaje = "pls enter this format LLLL-999999-XXX"
pat = /[a-z]|[A-Z]/
pat2 = /[a-z]|[A-Z]|[0-9]/
val = cual.split("-")
if (val.length == 3){
    if(val[0].length == 4){
        if(!comp(val[0],pat)){
            alert( mensaje)
            return false
            }
        }
    if(val[1].length == 6){
        if(isNaN(val[1])){
            alert('no es un numero')
            return false
            }
        }
    if(val[2].length == 3){
        if(!comp(val[2],pat2)){
            alert(mensaje)
            return false
            }
        }
else{
    alert(mensaje)
    return false
    }
}
else{
    alert(mensaje)
    return false
    }
return true
}
function comp(cual,pa){
for(m=0;m<cual.length;m++){
    if(!pa.test(cual.charAt(m))){
        return false
        break
        }
    }
return true
}
</script>

您可以使用如下regex:

/^[a-z]{4}[0-9]{6}[a-z0-9]{3}$/i

如果您想要-作为可选:

/^[a-z]{4}-?[0-9]{6}-?[a-z0-9]{3}$/i

更新:

var input = "LLLL999999XXX";
var pattern = /^[a-zA-Z]{4}'d{6}[a-zA-Z0-9]{3}$/;
if( input.match(pattern) ){
    alert("true");
}else{
    alert("false");
}

请参阅以下位置的工作代码:

Js出价