gpt4 book ai didi

javascript - JS 验证中的 regexp、replace 和 ToUppercase 问题

转载 作者:行者123 更新时间:2023-12-02 20:18:58 26 4
gpt4 key购买 nike

我正在尝试在提交表单之前验证魁北克邮政编码。以下函数(onBlur)应该使字母大写并删除所有空格。 “其他”之前的一切都工作正常。

function back2(that){
if (that.value.length <=4) {
that.value = that.getAttribute("default");
that.setAttribute("class", "exemple");
} else {
if (that.getAttribute("id") == 'zip') {
that.setAttribute("value", that.value.replace(/\s/g, ""));
that.setAttribute("value", that.value.toUpperCase());
}
}
}

这是由 onSubmit 事件触发的表单验证代码的一部分:

    if (f.value != "^G//d//D//d//D//d$" || 
f.value != "^H//d//D//d//D//d$" ||
f.value != "^J//d//D//d//D//d$" ||
f.value != "^K1//D//d//D//d$" ||
f.length !=6 ) {
alert("Veuillez mettre un code postal valide du Québec, merci.");
return false;
}
return true;
}

和 HTML 代码:

<td>Code Postal</td>
<td><input name="zip" type="text"
id="zip" value="J0B4M1" size="35"
class="exemple" onfocus="clean(this)"
onblur="back2(this)" default="J0B4M1"></td>

JS 代码的两部分都存在问题,因为当我更改字段框时没有任何反应,并且邮政编码有空格并且是小写字母。此外,即使邮政编码的格式正确,我也会收到警报。救命!

最佳答案

您无法匹配这样的正则表达式:

f.value != "^G//d//D//d//D//d$"

您需要.match.test。我喜欢搭配:

f.value.match(...)

我真的不知道那个正则表达式是什么...有很多 / 而没有 \。我很困惑!

PS
是这个吗:http://regexlib.com/REDetails.aspx?regexp_id=570你一定会喜欢 Guugle!

如果是这样,你可以使用这个:

if ( !f.value.match(/^[a-zA-Z]{1}[0-9]{1}[a-zA-Z]{1}(\-| |){1}[0-9]{1}[a-zA-Z]{1}[0-9]{1}$/) ) { alert('Oy! That\'s not right!'); }

虽然这个并不完美(注意无用的 {1})...嘿,如果它有效,对吧!?

关于javascript - JS 验证中的 regexp、replace 和 ToUppercase 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5863255/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com