Javascript 如何在正则表达式中接受定界符(:,,,,/,?,=,+;,-,"),以匹配字符串值
我试图验证输入字符串。 我可能在“abc 123”和“abcd 123”之间有一些分隔符,即可能的情况:Javascript 如何在正则表达式中接受定界符(:,,,,/,?,=,+;,-,"),以匹配字符串值,javascript,Javascript,我试图验证输入字符串。 我可能在“abc 123”和“abcd 123”之间有一些分隔符,即可能的情况: str = "abc-123 abcd 123"; str = "abc/123 abcd 123"; str = "abc&&123 abcd 123"; str = "abc:123 abcd 123"; str = "abc.123 abcd 123"; etc..... 基本上,我想把所有这些字符串都看作是字符串有效的字符串。 我的正则表达式: var m = va
str = "abc-123 abcd 123";
str = "abc/123 abcd 123";
str = "abc&&123 abcd 123";
str = "abc:123 abcd 123";
str = "abc.123 abcd 123";
etc.....
基本上,我想把所有这些字符串都看作是字符串有效的字符串。
我的正则表达式:
var m = value.match(/([a-z]+\s*\d+)\s+([a-z]+\s*\d+|\d+\s*[a-z]+)/i);
if (m) {return "valid string"}
else {return "invalid string"}
目前,我的正则表达式对上面列出的场景抛出“无效字符串”,除了空格
(str=“User 123”)//返回有效字符串
我如何在正则表达式中添加一个条件来评估上述所有场景是否为真
函数测试(值){
var m=值。匹配(/([a-z]+\s*\d+)\s+([a-z]+\s*\d+\d*[a-z]+)/i);
if(m){返回“有效字符串”}
else{返回“无效字符串”}
}
控制台日志(testIt(“abc-123 abcd 123”);
控制台日志(testIt(“abc/123 abcd 123”);
日志(testIt(“abc&123 abcd 123”);
控制台日志(testIt(“abc:123 abcd 123”);
控制台日志(testIt(“abc.123 abcd 123”)代码>将所有可能的字符放入[a-z]+
和\d+
之间的字符集中:
([a-z]+[\s\/&:.-]*\d+)\s+([a-z]+\s*\d+|\d+\s*[a-z]+)
^^^^^^^^^^^
或者,重复任何非数字字符,直到找到一个数字字符(如果确实允许使用任何非数字字符):
我给你做了一个
([a-z]+\D*\d+)\s+([a-z]+\s*\d+|\d+\s*[a-z]+)
^^^