验证特定格式而不使用“-"以拆分字符串
Validate specific format without using "-" to split the string
嗨,在发送表单之前,我需要验证一个字符串,格式必须是
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出价
相关文章:
- 内联javascript与"<脚本>"字符串错误地关闭了脚本标记
- 用分隔符分隔具有多个整数值的字符串的Javascript"重试错误的值
- 如何删除“"使用javascript从字符串中提取字符
- 解析字符串包含'"'从mysql检索到JSON
- 为什么我得到“;错误:预期"同时访问字符串
- 传递带有符号“”的字符串变量'"到函数
- 添加前缀“#"到数组中的某些字符串值
- 索引a“/"在字符串中
- 看到意想不到的"未定义的“;在Node JS提供的字符串中
- 用“”查找字符串//"并从“//"直到最后
- 替换正斜杠“/"JavaScript字符串中的字符
- 检查字符串是否只包含“0”-"什么都没有
- 带有换行符的JSP+HTML-将其作为字符串获取,并删除"新线”;
- Regex提取字符串后的第二个“"字符串末尾的点字符
- javascript exclude"00”;以及“;01〃;字符串
- jquery ui的客户端缓存自动完成:javascript/jquery regex匹配字符串"索引“;对象
- IE下降"%"在附加html字符串时从维度
- 错误:未捕获的异常:[exception.."字符串包含一个..quot;
- jQuery:将字符串转换为"手柄;类似于Shopify's Handleize
- Regex检测到大于“>"并且小于“0”<"在字符串中