我正在尝试验证用户输入的字符串,以用作信用卡账单上的账单描述来描述购买。要求是:长度必须介于5到22个字符之间必须至少包含一个字母(大小写无关)不能包含以下字符: \'“仅允许使用ASCII字符到目前为止,这是我正在做的工作:/^(?=.*?[a-zA-Z])[a-zA-Z0-9]{5,22}$/gm...这样可以正确检查5-22个字符的长度,并检查至少一个字母。但是,它不允许所有特殊字符和变音符号,而不是不允许的少数特殊字符和变音符号。如何修改它以允许其他允许的字符? (adsbygoogle = window.adsbygoogle || []).push({}); 最佳答案 您可以使用/^(?=[^a-z]*[a-z])(?:(?![<>\\'"])[\x00-\x7F]){5,22}$/i/^(?=[^a-z]*[a-z])(?![^<>\\'"]*[<>\\'"])[\x00-\x7F]{5,22}$/i如果您的意思是允许使用可打印的ASCII字符/^(?=[^a-z]*[a-z])(?:(?![<>\\'"])[ -~]){5,22}$/i/^(?=[^a-z]*[a-z])(?![^<>\\'"]*[<>\\'"])[ -~]{5,22}$/i 详细信息 ^-字符串的开始 (?=[^a-z]*[a-z])-字符串中必须至少包含1个ASCII字母 (?:(?![<>\\'"])[ -~]){5,22}-除<,>,\,'和"之外的任何可打印ASCII字符的五到二十次出现(如果使用[\x00-\x7F],则是除否定字符类中的字符之外的任何ASCII字符) (?![^<>\\'"]*[<>\\'"])-字符串中不允许使用<,>,\,'和" $-字符串结尾。 (adsbygoogle = window.adsbygoogle || []).push({});
07-24 16:44
查看更多