|;^。到目前为止,我有这个: if(/^[#"\/:*?<>|;^]*$/.test("test word") == false){-6ren">
gpt4 book ai didi

javascript - 针对字符测试变量

转载 作者:行者123 更新时间:2023-11-28 20:05:00 24 4
gpt4 key购买 nike

我需要将通过此函数传递的变量针对以下字符进行测试:#"/:*?<>|;^。到目前为止,我有这个:

if(/^[#"\/:*?<>|;^]*$/.test("test word") == false){
alert('this includes illegal characters #"\/:*?<>|;^');
}

但即使变量不包含非法字符,它也会弹出警报。有谁知道我的正则表达式做错了什么?

最佳答案

您当前的代码正在测试您的字符串是否不完全由非法字符组成。那不会给你你想要的东西。您要测试的是是否存在任何非法字符。为此,您可以这样做:

if(/[#"\/:*?<>|;^]/.test("test word")){
alert('this includes illegal characters #"\/:*?<>|;^');
}

这会删除 ^$,以便您可以找到任何非法字符,并且它会改变 bool 测试的含义。这样,如果在字符串中的任何位置发现任何非法字符,它就会命中 if 语句。

<小时/>

仅供引用,通常最好测试一下您的字符串是否仅包含“合法”字符,而不是相反,因为这样您可能会让控制字符或其他类似的东西通过您没有想到的.

<小时/>

对所有合法字符的测试可能如下所示(您必须填写准确的合法字符):

if (!/^[a-zA-Z. ]+$/.test("test word")){
alert('some illegal characters present');
}

关于javascript - 针对字符测试变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20982203/

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