the ^ character is the one giving you the problem. preg is looking for somethingsomething, and there can be no something before ^ since ^ represents the beginning of the string. If the rollno is a field dedicated to just the rollno and not a text/paragraph, I doubt you need it
the simplest based on your post would be
0710|7109|1090|109|071| 710
add either * (maybe) or + required if you need to further constrain the result:
(0710[0-9]+)|(7109[0-9]+)|(109[0-9]*)|(071)|(710)
I'm thinking you probably want to use + as I did for 0710
since students may use a space or dash in between, it's best to evaluate like this:
if(!preg_match( [epxression above], preg_replace('/[0-9]/','',$rollno))){
//error state
}