我正在嘗試制作一個正則運算式,它將驗證所有單詞的首字母是否為大寫。例如水果是允許的,但水果是不允許的。也允許美國,但不允許美國。
另外,我不想只允許空格和點。
我創建了正則運算式,不允許單獨使用空格和點,但我希望它們在一個正則運算式中,上限要求是他們實作這一目標的任何方式嗎?
我將添加到目前為止我嘗試過的內容。
請,任何幫助表示贊賞。
$.validator.addMethod("first_letter", function(value,element)
{
return this.optional(element) || ^[A-Z].*i.test(value); // 1.) this is what i am trying to check if first letter of every word is uppercase or not and can this be combined with the 2.) validation i.e "characters"
}, "First Letter Should be Capital !!");
$.validator.addMethod("characters", function(value,element)
{
return this.optional(element) || /^[a-zA-Z.*\s]*$/i.test(value); // 2.) For only Allowing Alphabets
}, "Only Characters are Allowed !!");
$.validator.addMethod("dot", function(value,element)
{
return this.optional(element) || /^[^.]*$/i.test(value); // 3.) For Not Allowing Dot Characters
}, "Dot chatarcters are not Allowed !!");
$.validator.addMethod("only_space", function(value,element)
{
return this.optional(element) || /^[.*\S.*]/i.test(value); // 4.) For Not Allowing Only Spaces
}, "Only Spaces are not Allowed !!");
所有的驗證
$.validator.addMethod("characters", function(value,element)
{
return this.optional(element) || /^[a-zA-Z.*\s]*$/i.test(value);
}, "Only Characters are Allowed !!");
$.validator.addMethod("dot", function(value,element)
{
return this.optional(element) || /^[^.]*$/i.test(value);
}, "Dot chatarcters are not Allowed !!");
$.validator.addMethod("only_space", function(value,element)
{
return this.optional(element) || /^[.*\S.*]/i.test(value);
}, "Only Spaces are not Allowed !!");
$.validator.addMethod("first_letter", function(value,element)
{
return this.optional(element) || ^[A-Z][a-z]*(?: [A-Z][a-z]*)*$/ i.test(value);
}, "First Letter Should be Capital !!"); // your answer , if i am using it as it is then also its not working and other validations above it are also not working.
$.validator.addMethod("characters", function(value,element)
{
return this.optional(element) || /^[A-Z][a-zA-Z.*\s] (?: [A-Z][a-z]*)*$/i.test(value);
}, "Only Characters are Allowed !!"); // what i tried
$.validator.addMethod("first_letter", function(value,element)
{
return this.optional(element) || /^([A-Z] [a-z] * (([A-Za-z]\s)?[a-z]*)*)(\s \S \s*)*$/i.test(value);
}, "First Letter Should be Capital !!"); // I also tried like this.
uj5u.com熱心網友回復:
像這樣的模式可能看起來像:
^[A-Z][a-z]*(?: [A-Z][a-z]*)*$
解釋
^字串的開始[A-Z][a-z]*匹配單個大寫字符和可選的小寫字符(?: [A-Z][a-z]*)*可選地重復匹配一個空格并且和之前的一樣$字串結束
此模式限制將字符 AZ 作為第一個字符,然后是小寫字符,其中“單詞”之間可能只有一個空格。
請參閱regex101上的演示。
const regex = /^[A-Z][a-z]*(?: [A-Z][a-z]*)*$/;
[
"Fruits",
"fruits",
"United States",
"United states"
].forEach(s => console.log(`${s} --> ${regex.test(s)}`));
更廣泛的匹配可以以大寫字符開頭,然后是可選的非空白字符(也可以再次匹配大寫字符)。
在重復部分,您可以使用\s 匹配 1 個或多個空白字符(也可以匹配換行符)。
^[A-Z]\S*(?:\s [A-Z]\S*)*$
在regex101上查看另一個演示。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/471490.html
標籤:javascript 正则表达式 jsp 小服务程序
上一篇:如何將多個復選框值插入資料庫?
