模式验证表达式,首字母大写吗?

时间:2019-05-11 10:17:25

标签: angular

我正在使用输入字段,并且希望用户的首字母大写。 在此之前,我需要一个模式,允许用户输入我使用的唯一大写字母

pattern="[A-Z ]*"

是否有任何模式可以检查用户的首字母是否大写。 我想要的结果是:

testing => is wrong
Testing => is good.
Testing Done =>is good also.

2 个答案:

答案 0 :(得分:5)

可以使用/^[A-Z].*$/

^[A-Z]它要求字符串应以大写字母开头。

.*$现在将匹配除换行之外的所有内容。

let regex = /^[A-Z].*$/
let str1 = 'testing'
let str2 = 'Testing'
let str3 = 'Testing Done'

console.log(regex.test(str1))
console.log(regex.test(str2))
console.log(regex.test(str3))

如果您不想在单词之间使用大写字母,则可以尝试:

 /^([A-Z][a-z]*((\s[A-Za-z])?[a-z]*)*)$/

let regex = /^([A-Z][a-z]*((\s[A-Za-z])?[a-z]*)*)$/

let str1 = 'testing'
let str2 = 'Testing'
let str3 = 'Testing Done'
let str4 = 'TesTing';
let str5 = 'Testing Done Done Done done';

console.log(regex.test(str1))
console.log(regex.test(str2))
console.log(regex.test(str3))
console.log(regex.test(str4))
console.log(regex.test(str5))

注意:要按角度使用图案,需要转义反斜杠。这样您的模式将类似于:

Validators.pattern('^([A-Z][a-z]*((\\s[A-Za-z])?[a-z]*)*)$')

在此处查看示例:https://stackblitz.com/edit/angular-3s3cdc?file=src%2Fapp%2Fapp.component.html

答案 1 :(得分:0)

regexp = /^[A-Z]/

您可以使用上面的代码来验证您的字符串。