gpt4 book ai didi

Javascript 正则表达式空格检查

转载 作者:行者123 更新时间:2023-11-30 18:22:34 25 4
gpt4 key购买 nike

我有一个问题要问你,我自己似乎无法弄明白。
假设我想验证用户的名字。有些可以包含多个部分,例如“John William”,中间有一个空格。我想要做的是将输入与一个正则表达式相匹配,该正则表达式会找出名称的开头或结尾是否包含任何空格。
此外,正则表达式应检查名称中是否只有字母(a-z,小写和大写)。

这是我到目前为止想出的:

/^\s+[A-z]+|[A-z]+\s+$/

但不知何故,这个正则表达式没有注意到任何其他字符(例如破折号、下划线、& 符号等)。基本上它所做的就是告诉我输入的开头或结尾是否有空格。

有人能帮我吗?

编辑:

这是我使用的完整代码:

$(document).ready(function() {
$('#firstname, #lastname').bind('keyup blur', function() {
var _input = $(this);
var _illegal = Validate_Regexp(_input.val(), /^\s+[A-Za-z]+|[A-Za-z]+\s+$/);
if (_illegal == true) {
$("#"+_input.attr('id')+".validator").css({
'background-image' : 'url(./images/icons/bullet_red.png)',
});
} else {
$("#"+_input.attr('id')+".validator").css({
'background-image' : 'url(./images/icons/bullet_green.png)',
});
}
});
});

function Validate_Regexp($value, $regexp) {
return $regexp.test($value);
}

编辑 2:

我要接受 Charlie 的回答,但是他的回答迫使我有名字的两个部分,而不是我想要的那么多。
我更改了代码:

var isLegal = /^[a-zA-Z]+(\s+[a-zA-Z]+)?$/.test(stringToTest);

到:

var isLegal = /^[a-zA-Z]+(\s[a-zA-Z]+)*?$/.test(stringToTest);

最佳答案

我注意到您正在检查非法字符串。让我们反过来检查一个有效的字符串:

 var isValid = /^[a-zA-Z]+(\s+[a-zA-Z]+)?$/.test(stringToTest);

结果:

 /^[a-zA-Z]+(\s+[a-zA-Z]+)?$/.test("john doe"); // true
/^[a-zA-Z]+(\s+[a-zA-Z]+)?$/.test("john"); // true

/^[a-zA-Z]+(\s+[a-zA-Z]+)?$/.test("john d_oe"); // false
/^[a-zA-Z]+(\s+[a-zA-Z]+)?$/.test(" john doe "); // false
/^[a-zA-Z]+(\s+[a-zA-Z]+)?$/.test(" john doe"); // false
/^[a-zA-Z]+(\s+[a-zA-Z]+)?$/.test("john doe "); // false
/^[a-zA-Z]+(\s+[a-zA-Z]+)?$/.test("john "); // false

翻译成您现有的代码:

    var isValid = Validate_Regexp(_input.val(), /^[a-zA-Z]+(\s+[a-zA-Z]+)?$/);
if (isValid) {
$("#"+_input.attr('id')+".validator").css({
'background-image' : 'url(./images/icons/bullet_blue.png)',
});
} else {
$("#"+_input.attr('id')+".validator").css({
'background-image' : 'url(./images/icons/bullet_red.png)',
});
}

关于Javascript 正则表达式空格检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11713920/

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