Java input validation with regular expression
I am trying to make sure the user can only enter numbers 0 - 100, can any of you Java geniuses give me a hint. My regex matches the inputs I want, but when I enter a '9' I encounter an error when I cast the string to a double. Actually the input value is never assigned to the perc variable, but only when the input is a single digit. Here' s the piece of code that's giving me this headache:
while(!in.hasNext("[0-9]")){
try {
perc = in.next("[0-9]{1,2}|100");
break;
} catch (InputMismatchException e) {
System.out.println("Bad Input - Try Again");
perc = in.next();
dblPerc = Double.parseDouble(perc);And here's the error:
Exception in thread "main" java.lang.NumberFormatException: empty String
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:994)
at java.lang.Double.parseDouble(Double.java:510)
at applicant_database.View.showInput(View.java:46)
at applicant_database.View.main(View.java:101)
Add debugging code to your program to see what you're getting.
Similar Messages
-
CFFORM (Flash) Validation with Regular Expressions Not Working
I am having troubles getting regular expression validation to
work in a CFFORM. The below code is an extract of a much larger
form, the first name and last name have a regular expression
validation...and it doesn't work!
I'd appreciate any comments/info for help on this, have
searched high and low on information to get this working...but no
joy.
The code is:
<cffunction name="checkFieldSet" output="false"
returnType="string">
<cfargument name="fields" type="string" required="true"
hint="Fields to search">
<cfargument name="form" type="string" required="true"
hint="Name of the form">
<cfargument name="ascode" type="string" required="true"
hint="Code to fire if all is good.">
<cfset var vcode = "">
<cfset var f = "">
<cfsavecontent variable="vcode">
var ok = true;
var msg = "";
<cfloop index="f" list="#arguments.fields#">
<cfoutput>
if(!mx.validators.Validator.isValid(this,
'#arguments.form#.#f#')) { msg = msg + #f#.errorString + '\n';
ok=false; }
</cfoutput>
</cfloop>
</cfsavecontent>
<cfset vcode = vcode & "if(!ok)
mx.controls.Alert.show(msg,'Validation Error'); ">
<cfset vcode = vcode & "if(ok) #ascode#">
<cfset vcode =
replaceList(vcode,"#chr(10)#,#chr(13)#,#chr(9)#",",,")>
<cfreturn vcode>
</cffunction>
<cfform name="new_form" format="flash" width="600"
height="600" skin="halosilver" action="new_data.cfc">
<cfformgroup type="panel" label="New Form"
style="background-color:##CCCCCC;">
<cfformgroup type="tabnavigator" id="tabs">
<cfformgroup type="page" label="Step 1">
<cfformgroup type="hbox">
<cfformgroup type="panel" label="Requestor Information"
style="headerHeight: 13;">
<cfformgroup type="vbox">
<cfinput type="text" name="reqName" width="300"
label="First Name:" validate="regular_expression" pattern="[^0-9]"
validateat="onblur" required="yes" message="You must supply your
First Name.">
<cfinput type="text" name="reqLname" width="300"
label="Last Name:" validate="regular_expression" pattern="[^0-9]"
validateat="onblur" required="yes" message="You must supply your
Last Name.">
<cfinput type="text" name="reqEmail" width="300"
label="Email:" validate="email" required="yes" message="You must
supply your email or the address given is in the wrong format.">
<cfinput type="text" name="reqPhone" width="300"
label="Phone Extension:" validate="integer" required="yes"
maxlength="4" message="You must supply your phone number.">
</cfformgroup>
</cfformgroup>
</cfformgroup>
<cfformgroup type="horizontal"
style="horizontalAlign:'right';">
<cfinput type="button" width="100" name="cnt_step2"
label="next" value="Next"
onClick="#checkFieldSet("reqName,reqLname,reqEmail,reqPhone","new_form","tabs.selectedInd ex=tabs.selectedIndex+1")#"
align="right">
</cfformgroup>
</cfformgroup>
</cfformgroup>
</cfformgroup>
</cfform>quote:
Originally posted by:
Luckbox72
The problem is not the Regex. I have tested 3 or 4 different
versions that all work on the many different test sites. The
problem is it that the validation does not seem to work. I have
changed the patter to only allow NA and I can still type anything
into the text box. Is there some issue with useing Regex as your
validation?
Bear in mind that by default validation does not occur until
the user attempts to submit the form. If you are trying to control
the characters that the user can enter into the textbox, as opposed
to validating what they have entered, you will need to provide your
own javascript validation. -
Password validation with regular expression
I'm trying to use a regular expression to validate a password. I've tried a number of different regex's that seem to work elsewhere but do not work in HTML DB. This includes a couple that I wrote and that I found on regex web sites. Specifically, I'm trying to validate that a string has:
1. at least one special character
2. at least one numeric character
3. no more than 6 consecutive characters
4. has a length between 8 and 14
Does anyone know why some regular expressions do not work in HTML DB that work elsewhere or has anyone done a regex similar to this in HTML DB.
Thanks!
- BrianI see, I will use the [0-9] instead. The expression still does not work though. I simplified the expression down to try and figure out what doesn't work and it seems like it's the "?=".
1. I first entered the expression:
([:alnum:]*[0-9])
This expression just says there must be a number and it works fine in HTML DB.
2. I extended it to:
([:alnum:]*[0-9])([:alnum:]*[a-z])
This expression says that there must be a number followed by a letter. In this example "1a" works but "a1" does not.
3. To make it not care about the order I would normally add "?=" like so:
(?=[:alnum:]*[0-9])(?=[:alnum:]*[a-z])
This should work for "a1" or "1a" because the ? says the order doesn't matter. When I try this in HTML DB neither "1a" or "a1" work.
Any ideas?
Thanks
- Brian -
Java validation with regular expression
Hi
I need to validate a string such that only numbers, alphabets, -, _, . is allowed and the below mentioned code works fine.
if( ! l_name.matches("[A-Za-z0-9._-]+" ) ) {
// do stuff when a valid name is found
But i need to modify the above regex such that it should also allow space in the name. Any idea how to do that?
Thanks in advance.I tried a space it does not work!!!Then you added the space between a character range or something.
Here, this is a bit more compact:name.matches("[-.\\w\\s]+") -
Help with regular expression needed
Hi,
Perhaps someone here can help me with my regular expression I'm trying to build in my Java code.
The regular expression that I'm looking to build consists of any non-whitespace character up until it finds one or two <>= symbols and then any character thereafter. So both these Strings would match the expression:
City 1==London
Age>=18
The regular expression that I'm using is as follows:
(\\S+)([><=]){1,2}(.+)However, group 1 always retrieves the first <>= symbol as in "City 1=". How can I make the <>= part greedy so that it retrieves both operator symbols?
Thanks.Make the first group, the non-spaces, reluctant:
"(\\S+?)([<>=]{1,2})(.+)" -
ADF Email Validation using Regular Expression
Hi,
Wanted to add Email Validation VO search.
It is working if i put
<af:validateRegExp pattern="[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}"
messageDetailNoMatch="The value {1} is not a valid email address:"/>However this requires email id to be entered in Capital Letters.
Tried with below option is not working.
<af:inputText value="#{bindings.xxEmail.inputValue}" label="Email"
required="#{bindings.xxEmail.hints.mandatory}"
columns="#{bindings.xxEmail.hints.displayWidth}"
maximumLength="#{bindings.xxEmail.hints.precision}"
shortDesc="#{bindings.xxEmail.hints.tooltip}" id="it5">
<f:validator binding="#{bindings.xxEmail.validator}"/>
<f:validateLength minimum="6"/>
<af:validateRegExp pattern="[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}"
messageDetailNoMatch="The value {1} is not a valid email address:"/>
</af:inputText>I got above info from
ADF Email Validation using Regular Expression
User don't enter email id Without @ .
Kindly suggest pattern to achive this.
Thanks,
jit
Edited by: appsjit on Jan 25, 2013 7:08 PMThe RegEx to check EMail after RFC2822
[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?There are still some missing parts in the check as not all suffix combinations are allowed, but this is pretty good.
Timo -
Grouping & Back-references with regular expressions on Replace Text window
I really appreciate the inclusion of the Regular Expressions in the search & replace feature. One thing I am missing is back-references in the replacement expression. For instance, in the unix tools vi or sed, I might do something like this:
s/\(firstPart\) \(secondPart\) \(oldThirdPart\)/\2 \1 newThirdPart/g
which would allow me to switch the places of firstPart and secondPart, and totally replace thirdPart. If grouping and back-references are already present in the Replace Text window, how does one correctly invoke them?duplicate of Grouping & Back-references with regular expressions on Replace Text window
-
Entity validation with groovy expression
Hi,
I'm using jdeveloper 11.1.2.3.0
I have an entity object with two attributes "status" and "reason".
Only in case the user select status id "4" I would like to validate that he will select also reason.
for this I was trying to add entity validation with groovy expression.
so I added this expression "Status== 4 && Reason == null" and also I added failure message.
But it doesn't work as I expected.
The error is displayed every time, also when the user select status that is not 4 and also when he select status 4 and the reason is not null.
How should I write this groovy expression?
ThanksJust to clarify,
If you add this validation to your status attribute then it will validate that Reason is not null when you change the status to 4.
If you want to raise an entity validation just add a new Entity Validator and the expression should be something like what you had:
But slightly different
Status != null ? (Status==4? (Reason!=null) : true) : true -
Assistance with Regular Expression and Tcl
Assistance with Regular Expression and Tcl
Hello Everyone,
I recently began learning Tcl to develop scripts for automating network switch deployments.
In my script, I want to name the device with a location and the last three octets of the base mac address.
I can get the Base MAC address by :
show version | include Base
Base ethernet MAC Address : 00:00:00:DB:CE:00
And I can get the last three octets of the MAC address using the following regular expression.
([0-9a-f]{2}[:-]){2}([0-9a-f]{2}$)
But I have not been able to figure out how to call the regular expression in the tcl script.
I have checked several resources but have not been able to figure it out. Suggestions?
Ultimately, I want to set the last three octets to a variable (something like below) and then call the variable when I name the switch.
set mac [exec "sh version | i Base"] (include the regular expression)
ios_config "hostname location$mac"
Thanks for any assistance in advance.
ChrisThis worked for me.
Switch_1(tcl)#set result [exec show ver | inc Base]
Base ethernet MAC Address : 00:1B:D4:F8:B1:80
Switch_1(tcl)#regexp {([0-9A-F:]{8}\r)} $result -> mac
1
Switch_1(tcl)#puts $mac
F8:B1:80
Switch_1(tcl)#ios_config "hostname location$mac"
%Warning! Hostname should contain at least one alphabet or '-' or '_' character
locationF8:B1:80(tcl)# -
How to search with regular expression
I make pdx files so that I can search text quickly. But Acrobat doesn't provide a way to search with regular expression. I'm wondering if there is a way that I don't know to search for regular expression in Acrobat Pro 9?
First, Acrobat must "mount" the PDX.
As "Find" does not use the cataloged index, use Shift+Ctrl+F to open the advanced search dialog.
It may be helpful to first enter Acrobat Preferences and for the Search category tick "Always use advanced search options".
Back to the Search dialog - use the drop down menu for "Look In" to pick "Select Index" then, if no PDXs show, click the Add button.
In the Open Index File dialog, browse to the location of the desired PDX and select it.
OK out and use "Return results containing" to pick a "Match ..." requirement or Boolean.
To become familiar with query syntax, for Acrobat, it is good to review Acrobat Help.
http://help.adobe.com/en_US/Acrobat/9.0/Professional/WS58a04a822e3e50102bd615109794195ff-7 c4b.w.html
Be well... -
Problem with Regular Expression
Hi There!!
I have a problem with regular expression. I want to validate that one word and second word are same. For that I have written a regex
Pattern p=Pattern.compile("([a-z][a-zA-Z]*)\\s\1");
Matcher m=p.matcher("nikhil nikhil");
boolean t=m.matches();
if (t)
System.out.println("There is a match");
else
System.out.println("There is no match");
The result I am getting is always "There is no match
Your timely help will be much appreciated.
RegardsRam wrote:
ErasP wrote:
You are missing a backward slash in the regex
Pattern p = Pattern.compile("([a-z][a-zA-Z]*)\\s\\1");
But this will fail in this case.
Matcher m = p.matcher("Nikhil Nikhil");It is the reason for that *[a-z]*.The OP had [a-z][a-zA-Z]* in his code, so presumably he know what that means and wants that String not to match. -
Get the string between li tags, with regular expression
I have a unordered list, and I want to store all the strings between the li tags (<li>.?</li>)in an array:
<ul>
<li>This is String One</li>
<li>This is String Two</li>
<li>This is String Three</li>
</ul>
This is what have so far:
<li>(.*?)</li>
but it is not correct, I only want the string without the li tags.
Thanks.No one?
Anoyone here experienced with Regular Expression? -
I am wondering how to use the _regex in a hidden
<input>. i have searched every where but there is no examples
on how to use this cfml form validation. Its not that i want
alternatives to do the regular expression just how to use it like
this......
if i had the form....
<form.........>
<input name="email">
<input type="hidden" name="email_regex"
value="*/.............">
</form>
How can i have a message if the input email does not coincide
with the regular expression. would i need to use a second
<input type="hidden" name="email_regex_Required"
value="please insert a valid email adress>i am trying to get it to work like this. The validation type
is valid but i have not found anything on how to use it properly.
it like using the
<input type="hidden" name="email_required" value="the
field is blank, please go back and enter a filed">
I know javascript is the best option but if the browser does
not support this then at least in can attempt a alternative method.
All i would like to know is how do i use this validation type and
how can i get it also to produse a error message. as the "value"
field will contain the regular expresion itself. -
Help With Regular Expression In Apex Validation
Apex 3.2
There is a validation type of regular expression in apex, but I have never used regular expression before,
so a little help is appreciated.
I need to validate a field. It is only allowed to contain alpha characers, numbers, spaces and the - (dash) character.
I have tried several times to get this working
eg
[[:alpha:]]*[[:digit:]]*[[:space:]]*[-]*
^[[:alpha:][:digit:][:space:]-]+?
and others, but just can't to get the syntax correct.
Can someone help me with this please
GusExample:
SQL> ed
Wrote file afiedt.buf
1 with t as (select 'This is some example text' as txt from dual union all
2 select 'And this is the 2nd one with numbers' from dual union all
3 select 'And this allows double-barrelled words with hyphens' from dual union all
4 select 'But this one shouldn''t be allowed!' from dual
5 )
6 --
7 select *
8 from t
9* where regexp_like(txt, '^[[:alnum:] -]*$')
SQL> /
TXT
This is some example text
And this is the 2nd one with numbers
And this allows double-barrelled words with hyphens -
Help with Regular Expression for field validation
I'm fairly new to using regular expressions and using Acrobat. This is probably a simple question, but I've been unable to figure it out.
I have a text field on a PDF that I would like to be 9 characters in length. The first 2 characters can only be alphanumeric, the last 7 characters can only be numeric.
At first I was using the following, which allows all the characters to be alphanumeric:
var re = /^[A-Za-z0-9 :\\_]$/;
if (event.change.length >0) {
if (event.willCommit == false) {
if (!re.test(event.change)) {
event.rc = false
That works fine, but it's not quite what I needed. With some assistance I changed it (see below) to fit what I was looking for. However, this didn't work; it prevents anything from being entered in the field:
var re = /^[A-Za-z0-9]{2}\d{7}$/;
if (event.change.length >0) {
if (event.willCommit == false) {
if (!re.test(event.change)) {
event.rc = false
Any help would be greatly appreciated.
Thanks...Here's a function you can call form the field's custom Format script. It should be placed in a document-level JavaScript:
function custom_ks1() {
// Define non-commited regular expression
var re = /^[A-Za-z0-9]{0,2}([0-9]{0,7})?$/;
// Get all of the characters the user has entered
var value = AFMergeChange(event);
// Allow field to be cleared
if(!value) return;
if (event.willCommit) {
// Define commited regular expression
var re = /^[A-Za-z0-9]{2}[0-9]{7}$/;
if (!re.test(value)) { // If final value doesn't match, alert user
app.alert("Your error message goes here.");
// event.rc = false
} else { // not commited
// Only allow characters that match the regular expression
event.rc = re.test(value);
Call it like this:
// Custom Keystroke script
custom1_ks();
Maybe you are looking for
-
[Solved] NetworkManager-pptp VPN not working after update to 0.9.10
Hello, I have a PPTP VPN set up and it's been working for a long time. However, after I updated last night to networkmanager-0.9.10, it is no longer able to connect to the remote network. I can activate the VPN connection, enter my password, but af
-
Hi, I'm new at the Text Layout Framework. And I need multiple textflows without losing the abilities of the tlf editor. To be more precise: I have an XML with multiple paragraphs that must be edited and i will split each paragraph into a separate tex
-
Pictures from computer are printing on office paper not photo =(
-
Can I organize my photos in i photo by exif data? Thank You, Margaret
-
MM vs FI report - Stock Values not matching
Dear Experts, MM Report : We are taking stock value report from MC.9 or MB5L for few sites for the previous financial year. FI Report : The same sites and same previous year with material G/L account, the t-codes FAGLB03 or S_PL0_86000030 are showi