$$function checkIllegalTitle() {
// 定义一个包含非法字符的正则表达式
// 这个例子中,非法字符包括了一些特殊符号,您可以根据需要调整这个列表
const illegalChars = /[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]+/;
return illegalChars.test(document.title);
}
// 使用变量存储检查结果
var {isIllegal} = checkIllegalTitle();
===
我在quicker中定义了一个 isIllegal 布尔变量,他不能直接赋值吗?
我该如何传递值给quicker?
我发现我调用两次浏览器控制的时候,后面一个会报错.我搞不明白.
```js
(function() {
const illegalChars = /[!@#$%^&*()_+=\[\]{};':"\\|,.<>\/?]+/g;
const isIllegal = illegalChars.test(document.title);
const originalTitle = document.title;
const modifiedTitle = originalTitle.replace(illegalChars, '_');
return {
titleContainsIllegalChars: isIllegal,
webTitle: originalTitle,
suggestTitle: modifiedTitle
};
})();
```
这是第一次调用,输出了json,没有任何问题.
第二次调用就会报错
```js
document.title = "value"
```
错误提示:
"""
---------------------------
Quicker
---------------------------
false不支持的格式转换,目标类型:Boolean 源对象:Newtonsoft.Json.Linq.JArray [
"value"
] ex:无法将类型为“Newtonsoft.Json.Linq.JArray”的对象强制转换为类型“System.IConvertible”。
---------------------------
确定
---------------------------
"""
虽然报错,但是仍然执行了语句.
我现在的做法是构造一个json
```js
(function() {
const illegalChars = /[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]+/;
const isIllegal = illegalChars.test(document.title);
// 返回一个对象,该对象包含了检查结果
return {
titleContainsIllegalChars: isIllegal
};
})(); // 定义并立即执行这个函数
然后再用 `提取json内容` 来提取 titleContainsIllegalChars 到 quicker `isIllegal` 变量.
好像这样有点麻烦,虽然有效.