gpt4 book ai didi

javascript - REGEX - 必须包含字母数字和斜线

转载 作者:行者123 更新时间:2023-11-30 07:54:53 25 4
gpt4 key购买 nike

我正在尝试验证输入字段必须包含字母数字和斜线作为其值。

例如:AA/AB/12314/2017/ASD

上面显示的是应该作为输入字段的值的示例。我对编写正则表达式一无所知。所以请帮助我。

最后我想出了下面的代码:

var message = $('#message').val();

if (/^[a-zA-Z0-9-/]*$/.test($.trim(message)) == false)
{
$('#message').focus();
alert('invalid message');
}

最佳答案

it must contain both alphanumeric and slash.

我知道您可能有 1 个以上的字母数字符号后跟至少 1 个 / 后跟更多的字母数字符号。您需要将正则表达式更改为 /^[a-z\d]+(?:\/[a-z\d]+)+$/i:

var message = $('#message').val();
if (!/^[a-z\d]+(?:\/[a-z\d]+)+$/i.test($.trim(message)))
{
$('#message').focus();
alert('invalid message');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="message" value="ASD/TD"/>

详细信息:

  • ^ - 字符串的开始
  • [a-z\d]+ - 1 个或多个字母或数字
  • (?:\/[a-z\d]+)+ - 1 个或多个序列
    • \/ - 斜杠
    • [a-z\d]+ - 1 个或多个字母或数字
  • $ - 字符串结尾
  • /i - 不区分大小写的修饰符,因此 [a-z] 也可以匹配大写 ASCII 字母。

如果您的意思是字符串中必须有 / 和字母数字 anywhere,请使用 lookaheads:

/^(?=[a-z\d]*\/)(?=\/*[a-z\d])[a-z\d\/]+$/i
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

参见 regex demo .这里,(?=[a-z\d]*\/)需要0+字母数字后有/(?=\/*[a-z\d ]) 需要在 0+ 个斜杠后输入字母数字。 [a-z\d\/]+ 将匹配 1 个或多个字母数字或斜杠。

关于javascript - REGEX - 必须包含字母数字和斜线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42577947/

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