使用正则表达式进行Javascript验证

使用正则表达式进行Javascript验证,javascript,jquery,regex,Javascript,Jquery,Regex,我正在尝试进行jquery验证 在第一个中,我需要一个字母表,然后是8个数字字符,然后是一个破折号(-),然后是一个字母表。示例:C12345678-C 第二个与第一个相同,但不是以字母开头:例如:12345678-C 我尝试了var dni=/^(([0-9]{8}+)-\w+([a-z]{1}\w+*)$/ 如何做到这一点?试试这种模式 var pattern = /^([A-Z]{1}[\d]{8}-[A-Z]{1}|[\d]{8}-[A-Z]{1})$/ 使用下面的正则表达式检查并添加

我正在尝试进行jquery验证

在第一个中,我需要一个字母表,然后是8个数字字符,然后是一个破折号(-),然后是一个字母表。示例:
C12345678-C

第二个与第一个相同,但不是以字母开头:例如:
12345678-C

我尝试了
var dni=/^(([0-9]{8}+)-\w+([a-z]{1}\w+*)$/

如何做到这一点?

试试这种模式

var pattern = /^([A-Z]{1}[\d]{8}-[A-Z]{1}|[\d]{8}-[A-Z]{1})$/

使用下面的正则表达式检查并添加逻辑

您也可以在本文档中进行检查/测试


我认为下面的正则表达式应该起作用:

C12345678-C-->
/([A-Z]{1}\d{8}\+[A-Z]{1})/g

12345678-C-->
/(\d{8}\+[A-Z]{1})/g

如果需要,您可以切换到小写字符。

尝试使用代码-

"C12345678-C".match("^[A-Z]{1}[1-9]{8}[-]{1}[A-Z]{1}$") 
"12345678-C".match("^[1-9]{8}[-]{1}[A-Z]{1}$")
试试这个:

/^[A-Za-z]?\d{8}\-[A-Za-z]$/;
var patt=/^[A-Za-z]?\d{8}-[A-Za-z]$/;
控制台日志(部分测试('12345678-C');
控制台日志(部分测试('a12345678-C');
控制台日志(patt.test('*12345678-C');

控制台日志(patt.test('*12345678C')请提供您尝试过的代码。var dni=/^(([0-9]{8}+)-\w+([a-z]{1}\w+*)$/;这是针对12345678-C的,这种格式实际上可以工作,但我想限制numric意味着没有人输入超过8个NUMRICS,所以请编辑您的问题并在那里插入您的代码。
/^[A-Za-z]?\d{8}\-[A-Za-z]$/;