我需要一个regExp,它只能在字符串的开头和结尾允许空格,而在中间不允许使用。也禁止使用<>#%
个字符。
更新:
当前的regExp函数是:
(value: string) => {
const disalowedCharacters = [' ', '<', '>', '#', '%', '{', '}', '|', '\\',
'^', '~', '[', ']', '`', ';', '/', '?', ':', '@', '=', '&', '$', '\n'];
const regExp = new RegExp(`[${escapeRegExp(disalowedCharacters.join(''))}]`);
const isValid = !regExp.test(value);
return isValid ? [] : [`The URL can't contain space, newline, and the following
characters < > # % { } | \\ ^ ~ [ ] \` ; / ? : @ = & $`];
};
答案 0 :(得分:1)
我认为您正在寻找这样的东西:
^\s?([^\s<>#%]*)\s?$
https://regexfiddler.com/e/u1fn6qn6z93s/check-string-does-not-contain-spaces