gpt4 book ai didi

Javascript 正则表达式应该允许空字符串和非空字符串,但它不允许

转载 作者:搜寻专家 更新时间:2023-11-01 04:50:56 25 4
gpt4 key购买 nike

我有一个允许字符串为空的正则表达式。如果它不为空,则该字符串可能仅包含字母和空格。但它不能以空格开头或结尾。

这个 RegExp 应该完成这个工作:^(?!)[a-zA-Z]*[a-zA-Z]*$我在这里测试过:http://tools.netshiftmedia.com/regexlibrary/

但是当我在我的 js 中实现它时,它不允许字符串为空。

这是代码

function validatePreposition(name) {
string = string = document.forms['form'][name].value;
pattern = new RegExp('^(?! )[a-zA-Z]*[a-zA-Z ]*$');

checkString(name, pattern, string);
}

function checkString(name, pattern, string) {

if(!pattern.test(string)) {
error[name] = 1;
} else {
error[name] = 0;
}

printErrors();
}

如何更改我的代码以允许空字符串?

最佳答案

试试用这个代替:

pattern = /(^[a-zA-Z]+(\s*[a-zA-Z]+)*$)|(^$)/;

它将测试空字符串或测试以 a-Z 开头且字符串中可能有无限数量的空格但必须以 a-Z 结尾的字符串。

您可以在此处查看实际效果:http://jsfiddle.net/BAXya/

关于Javascript 正则表达式应该允许空字符串和非空字符串,但它不允许,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8338534/

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