我正在尝试进行jquery验证。
在第一个中,我想要一个字母,然后是8个数字字符,然后是破折号(-),然后是字母。例如:C12345678-C
第二个字母与第一个字母相同,但不是以字母开头:例如:12345678-C
我尝试过var dni = /^(([0-9]{8}+)-\w+([a-z]{1}\w+)*)$/;
如何实现?
答案 0 :(得分:0)
尝试这种模式
var pattern = /^([A-Z]{1}[\d]{8}-[A-Z]{1}|[\d]{8}-[A-Z]{1})$/
答案 1 :(得分:0)
在正则表达式下面使用以检查并添加您的逻辑
您也可以在此link
中进行检查/测试http://jsfiddle.net/shoesheill/smqtywgh/1/
var sentence="SushilC12345678-CShrestha";
var firstRegex=/[a-zA-z]{1}[0-9]{8}-[a-zA-z]{1}/gm;
var pattern1=sentence.match(firstRegex);
var secondRegex=/[0-9]{8}-[a-zA-z]{1}/gm;
var pattern2=sentence.match(secondRegex);
alert("First Pattern is: "+pattern1);
alert("Second Pattern is: "+pattern2);
答案 2 :(得分:0)
我认为以下正则表达式可以完成这项工作:
C12345678-C-> /([A-Z]{1}\d{8}\-+[A-Z]{1})/g
12345678-C-> /(\d{8}\-+[A-Z]{1})/g
如果需要,可以切换为小写字母。
答案 3 :(得分:0)
尝试使用代码-
"C12345678-C".match("^[A-Z]{1}[1-9]{8}[-]{1}[A-Z]{1}$")
"12345678-C".match("^[1-9]{8}[-]{1}[A-Z]{1}$")
答案 4 :(得分:0)
尝试一下:
/^[A-Za-z]?\d{8}\-[A-Za-z]$/;
var patt = /^[A-Za-z]?\d{8}\-[A-Za-z]$/;
console.log( patt.test('12345678-C') );
console.log( patt.test('a12345678-C') );
console.log( patt.test('*12345678-C') );
console.log( patt.test('*12345678C') );