gpt4 book ai didi

javascript - 使用正则表达式进行表单验证

转载 作者:行者123 更新时间:2023-11-30 13:18:56 26 4
gpt4 key购买 nike

我是 Javascript 的新手,正在学习正则表达式,想知道是否有人可以阐明我遇到的几个问题。

我正在写反馈表,需要在发送前进行验证,但我不太确定如何在地址中包含空格。

到目前为止,我有这段代码,只要我不包含空格,它就可以工作:

function isAlphanumeric(elem, helperMsg){
var alphaExp = /^[0-9a-zA-Z]+$/;
if(elem.value.match(alphaExp)){
return true;
}else{
alert(helperMsg);
elem.focus();
return false;
}
}

我可以简单地插入\w 以便表达式包含空格吗?

此外,我想做一个提醒,让用户知道表单提交已成功。使用此代码:

if(isAlphabet(firstname, "Please only enter letters for your name")){
if(isAlphabet(surname, "Please only enter letters for your name")){
if(emailValidator(email, "Please enter a valid email address")){
if(isNumeric(phone, "Please enter a valid telephone number")){
if(isAlphanumeric(address1, "Numbers and letters only for address")){
if(isAlphanumeric(pcode, "Please enter a valid postcode")){
{
return true;

}}}}}}}

return false;

插入代码的最佳位置在哪里?我在 return true 后尝试过,但没有成功。

任何提示都会很棒!

最佳答案

\w 不包含空格,因此不会起作用。如果您只想允许文字空格字符,请插入它:

/^[0-9a-zA-Z ]+$/

如果你想允许各种空格字符,使用\s:

/^[0-9a-zA-Z\s]+$/

至于在return true;之后放一个alert,肯定是行不通的; return,顾名思义,就是从函数中返回。函数的执行到此结束。只需将 alert 放在 return true 之前。

您还可以考虑使用 &&(逻辑与)使那里的东西更整洁。

if(isAlphabet(firstname, "Please only enter letters for your name")
&& isAlphabet(surname, "Please only enter letters for your name")
&& emailValidator(email, "Please enter a valid email address")
&& isNumeric(phone, "Please enter a valid telephone number")
&& isAlphanumeric(address1, "Numbers and letters only for address")
&& isAlphanumeric(pcode, "Please enter a valid postcode")) {
{
alert('Form submission successful.');
return true;
}

return false;

您可能还想重新考虑您是否真的想要一个说明提交成功的警报。我通常会避免这种情况 - 如果事情成功了,那应该是显而易见的。

关于javascript - 使用正则表达式进行表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10985535/

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