![]() |
RegularExpressionValidator that limits the number of characters that can be entered
I have several TextBoxes with TextMode="MultiLine" in which I want to limit
the number of characters that can be entered using a RegularExpressionValidator. I have come up with the following ValidationExpression: [.]{0,250} The only problem with this ValidationExpression is that it does not include the \n character as stated on the following documentation page: ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_fxfund/html/c82dc689-7e82-4767-a18d-cd24ce5f05e9.htm I tried using the following ValidationExpression: [.\n]{0,250} but it did not work. What can I use as a ValidationExpression for a RegularExpressionValidator in ASP.NET 2.0 that will allow all characters to be entered, but will limit the user to entering no more than 250 characters? Thanks. -- Nathan Sokalski njsokalski@hotmail.com http://www.nathansokalski.com/ |
Re: RegularExpressionValidator that limits the number of characters that can be entered
Try
[a-zA-Z0-9\n]{0,250} "Nathan Sokalski" <njsokalski@hotmail.com> wrote in message news:%23qBEYIhMHHA.3268@TK2MSFTNGP04.phx.gbl... >I have several TextBoxes with TextMode="MultiLine" in which I want to limit >the number of characters that can be entered using a >RegularExpressionValidator. I have come up with the following >ValidationExpression: > > [.]{0,250} > > The only problem with this ValidationExpression is that it does not > include the \n character as stated on the following documentation page: > > ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_fxfund/html/c82dc689-7e82-4767-a18d-cd24ce5f05e9.htm > > I tried using the following ValidationExpression: > > [.\n]{0,250} > > but it did not work. What can I use as a ValidationExpression for a > RegularExpressionValidator in ASP.NET 2.0 that will allow all characters > to be entered, but will limit the user to entering no more than 250 > characters? Thanks. > -- > Nathan Sokalski > njsokalski@hotmail.com > http://www.nathansokalski.com/ > |
Re: RegularExpressionValidator that limits the number of characters that can be entered
This does it just fine:
If TextBox1.Text.Length > 250 Then ' Do Whatever End If It will recognize the \n char "Nathan Sokalski" <njsokalski@hotmail.com> wrote in message news:%23qBEYIhMHHA.3268@TK2MSFTNGP04.phx.gbl... >I have several TextBoxes with TextMode="MultiLine" in which I want to limit >the number of characters that can be entered using a >RegularExpressionValidator. I have come up with the following >ValidationExpression: > > [.]{0,250} > > The only problem with this ValidationExpression is that it does not > include the \n character as stated on the following documentation page: > > ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_fxfund/html/c82dc689-7e82-4767-a18d-cd24ce5f05e9.htm > > I tried using the following ValidationExpression: > > [.\n]{0,250} > > but it did not work. What can I use as a ValidationExpression for a > RegularExpressionValidator in ASP.NET 2.0 that will allow all characters > to be entered, but will limit the user to entering no more than 250 > characters? Thanks. > -- > Nathan Sokalski > njsokalski@hotmail.com > http://www.nathansokalski.com/ > |
Re: RegularExpressionValidator that limits the number of characters that can be entered
That would determine whether it has more than 250 characters, but it is not
a Regular Expression. I want to determine whether it has too many characters using a Validator control (other than a CustomValidator), and I am assuming that the RegularExpressionValidator is the best choice for this. I want to use a Validator control so that I can test the validity of my whole form using the Page.IsValid property, and I don't want to use the CustomValidator because it is more (and often less efficient if there is an alternative) work to implement the ServerValidate event. Also, to have the validation done before the postback, you must write a client-side script as well. If I could find a ValidationExpression that worked (and I know that there is one), it would save me a lot of work. Any ideas for a ValidationExpression? Thanks. -- Nathan Sokalski njsokalski@hotmail.com http://www.nathansokalski.com/ "Mudhead" <nothing@yourhouse.com> wrote in message news:%23HEPlAoMHHA.420@TK2MSFTNGP06.phx.gbl... > This does it just fine: > > If TextBox1.Text.Length > 250 Then > ' Do Whatever > End If > > It will recognize the \n char > > "Nathan Sokalski" <njsokalski@hotmail.com> wrote in message > news:%23qBEYIhMHHA.3268@TK2MSFTNGP04.phx.gbl... >>I have several TextBoxes with TextMode="MultiLine" in which I want to >>limit the number of characters that can be entered using a >>RegularExpressionValidator. I have come up with the following >>ValidationExpression: >> >> [.]{0,250} >> >> The only problem with this ValidationExpression is that it does not >> include the \n character as stated on the following documentation page: >> >> ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_fxfund/html/c82dc689-7e82-4767-a18d-cd24ce5f05e9.htm >> >> I tried using the following ValidationExpression: >> >> [.\n]{0,250} >> >> but it did not work. What can I use as a ValidationExpression for a >> RegularExpressionValidator in ASP.NET 2.0 that will allow all characters >> to be entered, but will limit the user to entering no more than 250 >> characters? Thanks. >> -- >> Nathan Sokalski >> njsokalski@hotmail.com >> http://www.nathansokalski.com/ >> > > |
Re: RegularExpressionValidator that limits the number of characters that can be entered
Two problems there:
1. It does not allow spaces 2. It still does not allow the user to enter MultiLine text into the TextBox Using [.]{0,250} takes care of problem #1. However, I could be wrong (but I'm not sure), but I don't think that \n is what we need to use to allow for MultiLine input. However, I am not sure what we should be using, since the documentation page I mentioned in my original posting says that . includes all characters except \n. I noticed that on the following documentation page: ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_fxfund/html/c82dc689-7e82-4767-a18d-cd24ce5f05e9.htm The RegexOption member SingleLine has some way of changing the meaning of . to include all characters. At the top of the documentation page it says something about a way of specifying this option inline, but I was having trouble figuring out how to do this and could not find any examples. If anybody can help me with this, or let me know where I can see some examples of the inline technique of specifying an option, I would appreciate it. Thanks. -- Nathan Sokalski njsokalski@hotmail.com http://www.nathansokalski.com/ "Just Me" <news.microsoft.com> wrote in message news:%23WB6z0nMHHA.3556@TK2MSFTNGP03.phx.gbl... > Try > > [a-zA-Z0-9\n]{0,250} > > > "Nathan Sokalski" <njsokalski@hotmail.com> wrote in message > news:%23qBEYIhMHHA.3268@TK2MSFTNGP04.phx.gbl... >>I have several TextBoxes with TextMode="MultiLine" in which I want to >>limit the number of characters that can be entered using a >>RegularExpressionValidator. I have come up with the following >>ValidationExpression: >> >> [.]{0,250} >> >> The only problem with this ValidationExpression is that it does not >> include the \n character as stated on the following documentation page: >> >> ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_fxfund/html/c82dc689-7e82-4767-a18d-cd24ce5f05e9.htm >> >> I tried using the following ValidationExpression: >> >> [.\n]{0,250} >> >> but it did not work. What can I use as a ValidationExpression for a >> RegularExpressionValidator in ASP.NET 2.0 that will allow all characters >> to be entered, but will limit the user to entering no more than 250 >> characters? Thanks. >> -- >> Nathan Sokalski >> njsokalski@hotmail.com >> http://www.nathansokalski.com/ >> > > |
Re: RegularExpressionValidator that limits the number of characters that can be entered
I found the following ValidationExpression on the Internet:
[\s\S]{0,250} This seems to accept all characters, but it counts a newline as two characters. For example, the text between the following lines: ------------------------------------------- 12345 67890 ------------------------------------------- Would count as 12 characters (5 + 2 + 5). This could end up being confusing for users, especially if they are entering multiple lines. Also, since most databases consider a newline one character, it is not the validation most people want. Any ideas? Thanks. -- Nathan Sokalski njsokalski@hotmail.com http://www.nathansokalski.com/ "Nathan Sokalski" <njsokalski@hotmail.com> wrote in message news:%23qBEYIhMHHA.3268@TK2MSFTNGP04.phx.gbl... >I have several TextBoxes with TextMode="MultiLine" in which I want to limit >the number of characters that can be entered using a >RegularExpressionValidator. I have come up with the following >ValidationExpression: > > [.]{0,250} > > The only problem with this ValidationExpression is that it does not > include the \n character as stated on the following documentation page: > > ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_fxfund/html/c82dc689-7e82-4767-a18d-cd24ce5f05e9.htm > > I tried using the following ValidationExpression: > > [.\n]{0,250} > > but it did not work. What can I use as a ValidationExpression for a > RegularExpressionValidator in ASP.NET 2.0 that will allow all characters > to be entered, but will limit the user to entering no more than 250 > characters? Thanks. > -- > Nathan Sokalski > njsokalski@hotmail.com > http://www.nathansokalski.com/ > |
Re: RegularExpressionValidator that limits the number of characters that can be entered
It does not count a newline as 2 characters. It counts a newline as 1
character. \s matches any white-space character and is equivalent to the Unicode character classes [\f\n\r\t\v\x85\p{Z}]. \n matches a newline (\u000A) \r matches a carriage return (\u000D) Therefore, in your example, it counts one newline and one carriage return which is absolutely correct because that is what is actually there. "Nathan Sokalski" <njsokalski@hotmail.com> wrote in message news:%23gIWejtMHHA.1912@TK2MSFTNGP02.phx.gbl... >I found the following ValidationExpression on the Internet: > > [\s\S]{0,250} > > This seems to accept all characters, but it counts a newline as two > characters. For example, the text between the following lines: > > ------------------------------------------- > 12345 > 67890 > ------------------------------------------- > > Would count as 12 characters (5 + 2 + 5). This could end up being > confusing for users, especially if they are entering multiple lines. Also, > since most databases consider a newline one character, it is not the > validation most people want. Any ideas? Thanks. > -- > Nathan Sokalski > njsokalski@hotmail.com > http://www.nathansokalski.com/ > > "Nathan Sokalski" <njsokalski@hotmail.com> wrote in message > news:%23qBEYIhMHHA.3268@TK2MSFTNGP04.phx.gbl... >>I have several TextBoxes with TextMode="MultiLine" in which I want to >>limit the number of characters that can be entered using a >>RegularExpressionValidator. I have come up with the following >>ValidationExpression: >> >> [.]{0,250} >> >> The only problem with this ValidationExpression is that it does not >> include the \n character as stated on the following documentation page: >> >> ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_fxfund/html/c82dc689-7e82-4767-a18d-cd24ce5f05e9.htm >> >> I tried using the following ValidationExpression: >> >> [.\n]{0,250} >> >> but it did not work. What can I use as a ValidationExpression for a >> RegularExpressionValidator in ASP.NET 2.0 that will allow all characters >> to be entered, but will limit the user to entering no more than 250 >> characters? Thanks. >> -- >> Nathan Sokalski >> njsokalski@hotmail.com >> http://www.nathansokalski.com/ >> > > |
Re: RegularExpressionValidator that limits the number of characters that can be entered
OK, my bad. But regardless of what the two characters are, it is more
characters than we want it to count. What I will be doing with the text entered by the user is submitting it to an SQL Server database. The field it is being used in is declared as: otherinfo VARCHAR(250) If the validator counts pressing enter as two characters, but the database only counts it as one character, the user will not be able to enter as many characters as the database field can actually hold. Is there any way around this? Thanks. -- Nathan Sokalski njsokalski@hotmail.com http://www.nathansokalski.com/ "Stephany Young" <noone@localhost> wrote in message news:eaRbe1tMHHA.1240@TK2MSFTNGP03.phx.gbl... > It does not count a newline as 2 characters. It counts a newline as 1 > character. > > \s matches any white-space character and is equivalent to the Unicode > character classes [\f\n\r\t\v\x85\p{Z}]. > > \n matches a newline (\u000A) > > \r matches a carriage return (\u000D) > > Therefore, in your example, it counts one newline and one carriage return > which is absolutely correct because that is what is actually there. > > > "Nathan Sokalski" <njsokalski@hotmail.com> wrote in message > news:%23gIWejtMHHA.1912@TK2MSFTNGP02.phx.gbl... >>I found the following ValidationExpression on the Internet: >> >> [\s\S]{0,250} >> >> This seems to accept all characters, but it counts a newline as two >> characters. For example, the text between the following lines: >> >> ------------------------------------------- >> 12345 >> 67890 >> ------------------------------------------- >> >> Would count as 12 characters (5 + 2 + 5). This could end up being >> confusing for users, especially if they are entering multiple lines. >> Also, since most databases consider a newline one character, it is not >> the validation most people want. Any ideas? Thanks. >> -- >> Nathan Sokalski >> njsokalski@hotmail.com >> http://www.nathansokalski.com/ >> >> "Nathan Sokalski" <njsokalski@hotmail.com> wrote in message >> news:%23qBEYIhMHHA.3268@TK2MSFTNGP04.phx.gbl... >>>I have several TextBoxes with TextMode="MultiLine" in which I want to >>>limit the number of characters that can be entered using a >>>RegularExpressionValidator. I have come up with the following >>>ValidationExpression: >>> >>> [.]{0,250} >>> >>> The only problem with this ValidationExpression is that it does not >>> include the \n character as stated on the following documentation page: >>> >>> ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_fxfund/html/c82dc689-7e82-4767-a18d-cd24ce5f05e9.htm >>> >>> I tried using the following ValidationExpression: >>> >>> [.\n]{0,250} >>> >>> but it did not work. What can I use as a ValidationExpression for a >>> RegularExpressionValidator in ASP.NET 2.0 that will allow all characters >>> to be entered, but will limit the user to entering no more than 250 >>> characters? Thanks. >>> -- >>> Nathan Sokalski >>> njsokalski@hotmail.com >>> http://www.nathansokalski.com/ >>> >> >> > > |
Re: RegularExpressionValidator that limits the number of characters that can be entered
What makes you think that a varchar column makes any assumptions about what
you put into it apart from the length? "Nathan Sokalski" <njsokalski@hotmail.com> wrote in message news:ObAHlMuMHHA.960@TK2MSFTNGP04.phx.gbl... > OK, my bad. But regardless of what the two characters are, it is more > characters than we want it to count. What I will be doing with the text > entered by the user is submitting it to an SQL Server database. The field > it is being used in is declared as: > > otherinfo VARCHAR(250) > > If the validator counts pressing enter as two characters, but the database > only counts it as one character, the user will not be able to enter as > many characters as the database field can actually hold. Is there any way > around this? Thanks. > -- > Nathan Sokalski > njsokalski@hotmail.com > http://www.nathansokalski.com/ > > "Stephany Young" <noone@localhost> wrote in message > news:eaRbe1tMHHA.1240@TK2MSFTNGP03.phx.gbl... >> It does not count a newline as 2 characters. It counts a newline as 1 >> character. >> >> \s matches any white-space character and is equivalent to the Unicode >> character classes [\f\n\r\t\v\x85\p{Z}]. >> >> \n matches a newline (\u000A) >> >> \r matches a carriage return (\u000D) >> >> Therefore, in your example, it counts one newline and one carriage return >> which is absolutely correct because that is what is actually there. >> >> >> "Nathan Sokalski" <njsokalski@hotmail.com> wrote in message >> news:%23gIWejtMHHA.1912@TK2MSFTNGP02.phx.gbl... >>>I found the following ValidationExpression on the Internet: >>> >>> [\s\S]{0,250} >>> >>> This seems to accept all characters, but it counts a newline as two >>> characters. For example, the text between the following lines: >>> >>> ------------------------------------------- >>> 12345 >>> 67890 >>> ------------------------------------------- >>> >>> Would count as 12 characters (5 + 2 + 5). This could end up being >>> confusing for users, especially if they are entering multiple lines. >>> Also, since most databases consider a newline one character, it is not >>> the validation most people want. Any ideas? Thanks. >>> -- >>> Nathan Sokalski >>> njsokalski@hotmail.com >>> http://www.nathansokalski.com/ >>> >>> "Nathan Sokalski" <njsokalski@hotmail.com> wrote in message >>> news:%23qBEYIhMHHA.3268@TK2MSFTNGP04.phx.gbl... >>>>I have several TextBoxes with TextMode="MultiLine" in which I want to >>>>limit the number of characters that can be entered using a >>>>RegularExpressionValidator. I have come up with the following >>>>ValidationExpression: >>>> >>>> [.]{0,250} >>>> >>>> The only problem with this ValidationExpression is that it does not >>>> include the \n character as stated on the following documentation page: >>>> >>>> ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_fxfund/html/c82dc689-7e82-4767-a18d-cd24ce5f05e9.htm >>>> >>>> I tried using the following ValidationExpression: >>>> >>>> [.\n]{0,250} >>>> >>>> but it did not work. What can I use as a ValidationExpression for a >>>> RegularExpressionValidator in ASP.NET 2.0 that will allow all >>>> characters to be entered, but will limit the user to entering no more >>>> than 250 characters? Thanks. >>>> -- >>>> Nathan Sokalski >>>> njsokalski@hotmail.com >>>> http://www.nathansokalski.com/ >>>> >>> >>> >> >> > > |
Re: RegularExpressionValidator that limits the number of characters that can be entered
What I am saying is that if I have a column declared as:
testfield VARCHAR(22) And the following ValidationExpression: [\s\S]{0,22} And the user enters: first line second line The validator will see it as 23 characters, and the database will see it as 22. However, even though it would fit in the database column, the validator will never let it get submitted. I need a way to make the database and the validator see the input as the same length. Thanks. -- Nathan Sokalski njsokalski@hotmail.com http://www.nathansokalski.com/ "Stephany Young" <noone@localhost> wrote in message news:ORJ2ifuMHHA.4888@TK2MSFTNGP02.phx.gbl... > What makes you think that a varchar column makes any assumptions about > what you put into it apart from the length? > > > "Nathan Sokalski" <njsokalski@hotmail.com> wrote in message > news:ObAHlMuMHHA.960@TK2MSFTNGP04.phx.gbl... >> OK, my bad. But regardless of what the two characters are, it is more >> characters than we want it to count. What I will be doing with the text >> entered by the user is submitting it to an SQL Server database. The field >> it is being used in is declared as: >> >> otherinfo VARCHAR(250) >> >> If the validator counts pressing enter as two characters, but the >> database only counts it as one character, the user will not be able to >> enter as many characters as the database field can actually hold. Is >> there any way around this? Thanks. >> -- >> Nathan Sokalski >> njsokalski@hotmail.com >> http://www.nathansokalski.com/ >> >> "Stephany Young" <noone@localhost> wrote in message >> news:eaRbe1tMHHA.1240@TK2MSFTNGP03.phx.gbl... >>> It does not count a newline as 2 characters. It counts a newline as 1 >>> character. >>> >>> \s matches any white-space character and is equivalent to the Unicode >>> character classes [\f\n\r\t\v\x85\p{Z}]. >>> >>> \n matches a newline (\u000A) >>> >>> \r matches a carriage return (\u000D) >>> >>> Therefore, in your example, it counts one newline and one carriage >>> return which is absolutely correct because that is what is actually >>> there. >>> >>> >>> "Nathan Sokalski" <njsokalski@hotmail.com> wrote in message >>> news:%23gIWejtMHHA.1912@TK2MSFTNGP02.phx.gbl... >>>>I found the following ValidationExpression on the Internet: >>>> >>>> [\s\S]{0,250} >>>> >>>> This seems to accept all characters, but it counts a newline as two >>>> characters. For example, the text between the following lines: >>>> >>>> ------------------------------------------- >>>> 12345 >>>> 67890 >>>> ------------------------------------------- >>>> >>>> Would count as 12 characters (5 + 2 + 5). This could end up being >>>> confusing for users, especially if they are entering multiple lines. >>>> Also, since most databases consider a newline one character, it is not >>>> the validation most people want. Any ideas? Thanks. >>>> -- >>>> Nathan Sokalski >>>> njsokalski@hotmail.com >>>> http://www.nathansokalski.com/ >>>> >>>> "Nathan Sokalski" <njsokalski@hotmail.com> wrote in message >>>> news:%23qBEYIhMHHA.3268@TK2MSFTNGP04.phx.gbl... >>>>>I have several TextBoxes with TextMode="MultiLine" in which I want to >>>>>limit the number of characters that can be entered using a >>>>>RegularExpressionValidator. I have come up with the following >>>>>ValidationExpression: >>>>> >>>>> [.]{0,250} >>>>> >>>>> The only problem with this ValidationExpression is that it does not >>>>> include the \n character as stated on the following documentation >>>>> page: >>>>> >>>>> ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_fxfund/html/c82dc689-7e82-4767-a18d-cd24ce5f05e9.htm >>>>> >>>>> I tried using the following ValidationExpression: >>>>> >>>>> [.\n]{0,250} >>>>> >>>>> but it did not work. What can I use as a ValidationExpression for a >>>>> RegularExpressionValidator in ASP.NET 2.0 that will allow all >>>>> characters to be entered, but will limit the user to entering no more >>>>> than 250 characters? Thanks. >>>>> -- >>>>> Nathan Sokalski >>>>> njsokalski@hotmail.com >>>>> http://www.nathansokalski.com/ >>>>> >>>> >>>> >>> >>> >> >> > > |
| All times are GMT. The time now is 08:22 PM. |
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.