为了账号安全,请及时绑定邮箱和手机立即绑定

在正则表达式字符括号中包含连字符?

/ 猿问

在正则表达式字符括号中包含连字符?

在正则表达式字符括号中包含连字符?

$.validator.addMethod('AZ09_', function (value) { 
    return /^[a-zA-Z0-9.-_]+$/.test(value); }, 'Only letters, numbers, and _-. are allowed');

当我使用某些东西test-123时仍然触发,就像连字符无效一样。我试着\---


查看完整描述

3 回答

?
翻阅古今

转义使用\-应该没问题,但您也可以尝试将它放在字符类的开头或结尾。这应该适合你:

/^[a-zA-Z0-9._-]+$/


查看完整回答
反对 回复 2019-07-27
?
撒科打诨

使用连字符\-是正确的方法。

我已经验证表达式/^[a-zA-Z0-9.\-_]+$/允许使用连字符。您也可以使用\w该类将其缩短为/^[\w.\-]+$/

(将连字符放在表达式的最后位置实际上导致它不需要转义,因为它不能成为范围的一部分,但是你可能仍然想要养成总是逃避它的习惯。)


查看完整回答
反对 回复 2019-07-27
?
拉风的咖菲猫

\ - 可能没有用,因为你用服务器从服务器传递了所有东西。如果是这种情况,你应该首先逃避\所以服务器端程序也可以处理它。

  • 在服务器端字符串中:\\ -

  • 在客户端:\ -

  • 在正则表达式(封面): -

或者你可以简单地放在[]括号中。


查看完整回答
反对 回复 2019-07-27

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信